ansible是什么
ansible是基于Python开发的、基于模块工作的可以批量部署的、无代理架构的自动化运维工具。
ansible 特点
- 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
- 默认使用SSH协议对设备进行管理;
- 有大量常规运维操作模块,可实现日常绝大部分操作;
- 配置简单、功能强大、扩展性强;
- 支持API及自定义模块,可通过Python轻松扩展;
- 通过Playbooks来定制强大的配置、状态管理;
- 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
- 提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台
ansible基本工作原理
控制节点和受管节点,在控制节点上部署一次即可在受管主机上生效,即在受管主机上相同重复的操作只需要在控制节点上执行一次。
控制节点不支持Windows操作系统,受管主机可以是Windows系统,控制节点需要安装Python3.5版本以上或Python2.7以上版本的Python。
ansible与节点通信的协议
ansible默认使用SSH网络协议与受管节点通信。
主机清单文件
主机清单文件标识了该控制节点可以管控的受管主机的主机清单,在inventory hosts文件中设置默认主机清单文件,也可以使用-i选项指定文件,ansible.cfg文件中inventory的值可以为文件或者目录。
playbook剧本
playbook文件定义ansible在受管节点上要执行的操作,语法格式为YAML,文件扩展名为.yml。