安装Ansible
使用包管理工具安装
因为RHEL、CentOS的官方yum源中没有Ansible安装包。需要安装EPEL作为部署Ansible的默认yum源。
CentOS7版本:
rpm -Uvh http://mirrors.zju.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
(镜像源链接可能会有略微变化。此链接2018/10/19可用)
安装好yum源后,使用以下命令安装Ansible(root用户可免去sudo)
# sudo yum install ansible
安装好后查看版本号验证是否安装成功
# ansible --version
配置SSH无密码访问
控制主机创建密钥,输入命令后一路回车完成创建
# ssh-keygen
将公钥发送到被管节点(例:被管节点IP为192.168.1.111)
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
输入ssh [email protected]
验证是否成功
第一次使用,在被管节点上批量输出‘Hello Ansible’
首先配置主机与组配置
文件默认在 /etc/ansible/hosts
添加两台主机的IP
同时定义一个webservers组包含这两个IP地址
192.168.1.111
192.168.1.112
[webservers]
192.168.1.111
192.168.1.112
测试:
对单机进行ping测试
ansible 192.168.1.111 -m ping
对webservers组进行ping操作
ansible webservers -m ping
在被管节点上批量执行命令
创建一个资源清单文件inventory.cfg(root/inventory.cfg)
[webservers]
192.168.1.101
192.168.1.102
用Ansible的shell模块在webservers组的各服务器上显示"hello ansible!"
ansible webservers -m shell -a '/bin/echo hello ansible!' -i inventory.cfg
使用command模块得到同样的效果
ansible webservers -m command -a '/bin/echo hello ansible!' -i inventory.cfg