什么是ansible*
- 批量管理主机软件
ansible的用法
-
命令:ad-hoc
- 执行一个操作
-
脚本:playbook
- 执行一组操作
-
模块:期望执行操作类型
- yum模块
- service模块
- …
2 安装ansible
- 2台,centos6
- 管理节点:192.168.31.63
- 被管理节点:192.168.31.64
注意
- ansible的安装包在epel源中
安装ansible
[root@master ~]# cd /etc/yum.repos.d/
[root@master yum.repos.d]# rm -rm epel*
[root@master yum.repos.d]# wget http://mirrors.aliyun.com/repo/epel-6.repo
[root@master yum.repos.d]# yum clean all
[root@master ~]# yum install ansible -y
ansible的简单使用
- /etc/ansible/ansible.cfg:ansible的主配置文件
- 禁用查看指纹信息:host_key_checking = False
- /etc/ansible/hosts:被管理主机清单文件
- 定义被管理节点的地址列表
- 主机数量多,需要定义主机组
3 免密认证
# 1)在管理节点,生成密钥对
[root@master ~]# ssh-keygen -t rsa
# 2)将公钥文件发送到被管理节点
[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.31.64
[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.31.65
4 管理被管理节点
1)在管理节点安装ansible
[root@master ~]# cd /etc/yum.repos.d/
[root@master yum.repos.d]# rm -rm epel*
[root@master yum.repos.d]# wget http://mirrors.aliyun.com/repo/epel-6.repo
[root@master yum.repos.d]# yum clean all
[root@master ~]# yum install ansible -y
2)配置免密认证
# 1)在管理节点,生成密钥对
[root@master ~]# ssh-keygen -t rsa
# 2)将公钥文件发送到被管理节点
[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.31.64
[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.31.65
3)修改主机清单文件
[root@master ~]# vim /etc/ansible/hosts
[myserver]
192.168.31.64
192.168.31.65
4)检查被管理节点是否在线
[root@master ~]# ansible myserver -m ping
192.168.31.65 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.31.64 | SUCCESS => {
"changed": false,
"ping": "pong"
}
5)在被管理节点安装apache
[root@master ~]# ansible myserver -a "yum install httpd -y"
[root@master ~]# ansible myserver -a "rpm -q httpd"
192.168.31.64 | SUCCESS | rc=0 >>
httpd-2.2.15-69.el6.centos.x86_64
6)启动被管理节点上的apache
[root@master ~]# ansible myserver -a "service httpd start"
[root@master ~]# ansible myserver -a "service httpd status"
7)关闭被管理节点的防火墙和selinux
[root@master ~]# ansible myserver -a "service iptables stop"
[root@master ~]# ansible myserver -a "setenforce 0"