3.3.2 Ansible
最后更新于:2022-04-02 07:37:48
> #### 参考资料 网易云课堂《Ansible精讲》 知了课堂
> #### 本文部分内容拷贝自 lyzkks的[博客](https://blog.csdn.net/sinat_35930259)
#### Ansible优势和应用场景
```
无客户端,playbook核心配置架构,模块完善,兼容性强,社区活跃,学习成本低
万台以下规模,结合Cache加速,OpenSSH长链接
```
Ansible框架主要包括
```
Ansible:Ansible核心程序。
Host Lnventory:记录由Ansible管理的主机信息,包括端口、密码、ip等。
Playbooks:“剧本”YAML格式文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能。
Core Modules:核心模块,来完成管理任务。先调用此中的模块,再指定Host Lnventory中的主机来完成管理任务。
Custom Modules:自定义模块,完成核心模块无法完成的功能,支持多种语言。
Connection Plugins:连接插件,做通信使用。
```
#### Ansible知识点
* 不能安装到Windows服务器,但可以管理Windows(xp,2003不支持)
* 依赖Python环境,节点需要部署SSH,要求Python版本在2.5以上
#### Ansible远程管理模式
> Ansible 2.2之后,默认使用SSH进行远程通讯,然后,EL6和之前的OpenSSH版本默认不支持ControlPersist,如果使用SSH连接,效率相对比较差。所以会使用paramiko(Python原生实现的SSH协议)进行通讯。
ControlPersist是什么呢?
>OpenSSH在5.6版本时,增加了ControlPersist属性,实现多路复用,无限期的保持活动状态,不用每次连接都经历SSH认证
#### 配置文件执行顺序
* ANSIBLE_CONFIG (环境变量)
* ansible.cfg (当前目录)
* .ansible.cfg (home目录)
* /etc/ansible/ansible.cfg
';