ansible是由 Python 编写的强大的配置管理解决方案,ansible 的特点就在于它的简洁与高效率
ansible与其他的配置管理工具不同点在于:不需要你在想要配置的每个节点上安装自己的组件,也就是说,ansible管理各个节点不需要依赖于agent端
(一)Ansible 入门
- Ansible 其他的配置管理工具对比
1:Puppet 由Ruby语言所研发
2:Saltstack 由Python语言研发
3:Ansible 由Python语言研发
- Ansible 如何工作
Ansible 工具并不使用agent端守护进程,它也不需要任何额外的自定义安全架构,因此它的部署可以说是十分容易。你需要的全部东西便是 SSH 客户端和服务器了。
192.168.1.100 - 在你本地的工作站或服务器上安装 Ansible。
1到代理服务器3 - 使用 192.168.1.100 和 Ansible 来自动管理所有的服务器。
192.168.1.100 和本地/远程的服务器之间设置 SSH 密钥。
(二)Ansible 安装(也可以使用pip3进行安装)
- ansible安装与配置
1: 在ansible主机上安装ansible
yum install -y ansible
2:由于ansible支持ssh协议,因此使用ssh协议实现对被管理节点的管理是ansible的常用做法,且将对于的hosts文件分发下去
""
@192.168.23.10
@192.168.23.11
@192.168.23.12
3:配置文件介绍
主配置文件:/etc/ansible/ansible.cfg
主程序:
ansible
ansible-playbook
ansible-doc -l 可以列出所有的ansible所支持的模块
4:在ansible的配置目录中一共有三个文件
@centos ansible]# ll
24
1 root root 18066 6月 2 05:49 ansible.cfg
1 root root 1016 6月 2 05:49 hosts
2 root root 6 6月 2 05:49 roles
hosts文件是用来指定被ansible管理的主机,也就是资产清单
roles是用来指定每一个节点的角色
编辑hosts文件(hosts文件有些注释的说明,可以先删除)。只要是hosts文件中定义的主机都可被ansible管理
# 指定web服务的主机
[webservers]
192.168.23.9
192.168.23.10
# 指定db服务的主机
[dbservers]
192.168.23.10
192.168.23.11
5:ansible不需要启动,就像一个脚本程序一样,可以直接的运行
ansible all -m ping # 这里的all指的是所有在hosts文件中定义的主机 -m:表示调用ansible自带的模块ping,对所有被管控的主机执行ping操作
6:获取所有的ansible的模块列表,模块的使用
ansible-doc -l 查看哪些模块可以用
ansible-doc -s 模块名 查看如何只用模块