Ansible是一款基于python开发的自动化运维工具
是基于ssh进行管理的, ansible在管理远程主机的时候,主要是通过模块进行操作的
什么时候用到ansible了,当部署多台服务器,及部署相同的环境或者相同的命令时,这个时候就可以用到我们的ansible了。
部署ansible的环境需求 : 需要yum是好的,及要关闭selinux和防火墙
ansible的部署
安装ansible yum install -y ansible
在控制节点上配置名称解析,让控制节点能访问所有节点
配置名称解析 echo -e "ip\主机名" >> /etc/hosts
配置ssh免密登录 ssh-keygen #三个问题直接回车
ssh-copy-id 所有主机名
配置ansible管理环境
# 创建ansible工作目录,目录名自己定义,不是固定的。
[root@pubserver ~]# mkdir ansible
[root@pubserver ~]# cd ansible
# 创建配置文件。默认的配置文件是/etc/ansible/ansible.cfg,但是一般不使用它,而是在工作目录下创建自己的配置文件
[root@pubserver ansible]# vim ansible.cfg # 文件名必须是ansible.cfg
[defaults]
host_key_checking = false # 不检查主机密钥,=号两边空格可有可无。
inventory = inventory # 定义主机清单文件为当前目录的inventory
# 创建主机清单文件。写在[]里的是组名,[]下面的是组内的主机名
[root@pubserver ansible]# vim inventory
[webservers]
web[1:2] # web1和web2的简化写法,表示从1到2
[dbs]
db1
# cluster是组名,自定义的;:children是固定写法,表示下面的组名是cluster的子组。
[cluster:children]
webservers
dbs
# 查看被管理的所有的主机。注意,一定在工作目录下执行命令。
[root@pubserver ansible]# ansible all --list-hosts
hosts (3):
web1
web2
db1
# 查看webservers组中所有的主机
[root@pubserver ansible]# ansible webservers --list-hosts
hosts (2):
web1
web2