ansible是由 Python 编写的强大的配置管理解决方案,ansible 的特点就在于它的简洁与高效率
ansible与其他的配置管理工具不同点在于:不需要你在想要配置的每个节点上安装自己的组件,也就是说,ansible管理各个节点不需要依赖于agent端

(一)Ansible 入门


  • Ansible 其他的配置管理工具对比

1:Puppet 由Ruby语言所研发

 

2:Saltstack 由Python语言研发

 

3:Ansible 由Python语言研发

  • Ansible 如何工作

Ansible 工具并不使用agent端守护进程,它也不需要任何额外的自定义安全架构,因此它的部署可以说是十分容易。你需要的全部东西便是 SSH 客户端和服务器了。

 

 

ansible Windows下载文件 ansible官网下载_ruby

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 模块名 查看如何只用模块