常用运维工具
Ansible :python,Agentless中小型,中小型应用环境
Saltstack:python,需要部署agent,执行效率更高
Puppet:ruby,功能强大,配置复杂,重型适合大型环境
ansible架构
users通过ansible来控制host。
users使用host inventory(主机清单)来判断控制那些主机。
可以使用模块和单一命令控制主机。
也可以使用playbook剧本来进行控制远程主机。
absible使用连接插件控制远程主机。
<图片来自于马哥教育>链接
ansible工作原理
使用ansible可以控制基本的网络设备。以及基本的windows设备。ansible提供了基本的模块来管理windows
CMDB(配置管理数据库)通过管理系统调用ansible来控制主机和网络设备。
users用户可以通过单命令或者playbook使用ansible来控制网络设备和远程主机
<图片来自于马哥教育>链接
yum安装ansible
yum install ansible yum安装
yum info ansible 查看ansible信息
rpm -ql ansible | less 查看安装信息
/etc/ansible/ansible.cfg 主配置文件
/etc/ansible/hosts 主机清单
/etc/ansible/roles/ 存放角色的目录
<图片来自于马哥教育>链接
实际操作ansible
首先在/etc/ansible/hosts 下添加主机IP
例子: 检查三台被控主机和控制机的IP是否通畅,这里我们走的SSH协议,并不是常用的ICMP。
[root@lwRedhat ~]# vim /etc/ansible/hosts
192.168.1.100
192.168.1.101
192.168.1.102
ansible 192.168.1.100 -m ping -k
需要输入SSH password
例子:多个被控主机
ansible 192.168.1.100,192.168.1.101,192.168.1.103 -m ping -k
或者使用
ansible all -m ping -k
连接主机清单里面的所有设备。(每个设备必须登录一次)
在主机中进行分组
分组为dbserver和cloudserver两个组
[root@lwRedhat ~]# vim /etc/ansible/hosts
[dbserver]
192.168.1.100
192.168.1.101
[cloudserver]
192.168.1.103
192.168.1.104