一、简单介绍(百度百科)
ansible是一款自动化运维工具,基于python开发,具有批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。
二、安装及配置
ansible的安装很简单,只需要在管理主机上安装ansible服务端即可,ansible服务端与各节点主机通过ssh协议通信;
1.安装ansible服务端
yum install ansible -y
2.配置ssh免认证登录
ssh-keygen -t rsa
注:也可在/etc/ansible/hosts文件中直接配置各节点的ssh登录的主机账户密码信息,一般不采用;
3.将密钥导入到各节点
ssh-copy-id root@172.19.0.117
ssh-copy-id root@172.19.0.118
ssh-copy-id root@172.19.0.119
4.编辑ansible配置文件,设置管理的各节点信息;
[root@syztoo ~]# cat /etc/ansible/hosts
[117]
172.19.0.117
[118]
172.19.0.118
[119]
172.19.0.119
在/etc/ansible/hosts文件中配置ansible主机管理的服务器,[ ] 配置各服务器组的标识;
三、shell模块
语法:
ansible {all|node_tag} -m shell -a 'command'
## all 表示所有节点 , node_tag 也可指定节点标识, -m 指定模块,-a 指定内容;
1、查看各节点的selinux是否关闭;
[root@syztoo ~]# ansible all -m shell -a 'getenforce'
172.19.0.117 | CHANGED | rc=0 >>
Disabled
172.19.0.118 | CHANGED | rc=0 >>
Disabled
172.19.0.119 | CHANGED | rc=0 >>
Disabled
2、在117服务器上查看docker swarm 各节点信息;
[root@syztoo ~]# ansible 117 -m shell -a 'docker node ls'
172.19.0.117 | CHANGED | rc=0 >>
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
m5on32cp9n2jinwnxnvkxjvuy worker-118 Ready Active
rkcpd6irdlj9t3txk5fz9o05z * manager-117 Ready Active Leader
vle4yvvhxfm6t9p5xq3xgg76x worker-119 Ready Active