Ansible知识点
1、Ansible概述
Ansible 是基于 Python 开发,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能的自动化运维管理工具。默认通过 SSH 协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署 变得更加简单。可同时支持多台主机并行管理,使得管理主机更加便捷。 Ansible 是一种基于模块进行工作的框架结构, 批量部署能力就是由Ansible 所运行的模块实现的。
2、Ansible架构
-
Ansible core 核心引擎:即 Ansible 本身;
-
Host Inventory 主机清单: 用来定义 Ansible 所管理主机, 默认是在 Ansible 的hosts 配置文件中定义被管理主机, 同时也支持自定义动态主机清单和指定其它配置文件的位置;
-
Connect plugin 连接插件: 负责和被管理主机实现通信。除支持使用 SSH 连接 被管理主机外, Ansible 还支持其它的连接方式, 所以需要有连接插件将各个主机用连接插件连接到 Ansible;
-
Playbook( yaml, jinjia2) 剧本: 用来集中定义 Ansible 任务的配置文件, 即将多个任务定义在一个剧本中由 Ansible 自动执行, 可以由控制主机针对多台被管理主机同时运行多个任务;