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