Linux

发布于 更新于

AI总结: 本文介绍了在多台CentOS服务器上使用Ansible进行配置同步的步骤。首先,通过yum安装Ansible并验证安装。接着,配置主机清单,并为目标节点设置SSH免密登录。然后,测试主机节点的可达性,并执行远程命令和推送配置。最后,通过编写Playbook实现自动化配置同步,使用ansible-playbook命令运行该Playbook。改进建议包括详细说明每个步骤的背景和潜在问题,以便用户更好地理解和排错。

多台 CentOS 服务器同步配置

安装Ansible

# 安装 ansible  
yum install ansible  

# 验证安装  
ansible --version  

配置主机清单

vim /etc/ansible/hosts

可以按情况添加分组

[servers]  
192.168.0.1  
192.168.0.2  

配置SSH免密登录

Ansible 默认通过 SSH 执行命令,因此目标节点需支持免密登录:

ssh-keygen -t rsa  
ssh-copy-id root@192.168.0.1  
ssh-copy-id root@192.168.0.2  

测试主机节点可达

ansible all -m ping  

输出示例:

192.168.0.1 | SUCCESS => {"changed": false, "ping": "pong"}  

执行远程命令

ansible servers -m shell -a "uptime"  

推送配置

ansible all -m copy -a "src=/root/myconf/nginx.conf dest=/etc/nginx/nginx.conf"  

批量执行命令:

ansible all -m shell -a "systemctl restart nginx"  

自动化

Playbook 做成自动化:sync.yml

- hosts: all  
  tasks:  
    - name: sync config  
      copy:  
        src: ./nginx.conf  
        dest: /etc/nginx/nginx.conf  

运行:

ansible-playbook sync.yml