ansible工作架构原理及多种安装方式
文章目录
ansible的特性
- 模块化:调用特定的模块,完成特定的任务–>(1000个模块)
- 有paramiko(Python开发出来基于SSH服务的远程通讯模块), pyYAML(playbook基于此模块实现的), jinja2(模板语言)三个关键模块
- 支持自定义模块
- 基于Python语言实现
- 部署简单,基于Python和SSH默认Linux系统已安装),agentless(无代理/无客户端)
安全,基于openssh
- 支持playbook编排任务(类似于编写脚本)
幂等性
:一个任务执行一遍和执行N遍效果是一样的,不重复执行带来意外情况- 无需代理不依赖PKI(无需SSL)
- 可使用任何编程语言写模块
YAML格式,编排任务,支持丰富的数据结构
- 较强大的多层解决方案(“角色”)
ansible基本架构
- 用户要通过ansible(主控端)来控制其他机器(被控端)
可以大致分为三层结构:
- 用户
- 主控端
- 被控端
- 解释说明:
- host inventory(主机清单)-配置文件
在控制多台主机环境的时候,ansible如何知道控制那几台机器的?就用到了host inventory(主机清单)-文件
,把需要控制的机器IP写入到主机清单中 - playbook(剧本)
(1)如果做的一些是例行性的工作,大量重复可以使用playbook(剧本),playbook是通过各种命令和模块进行组合,然后进行任务操作
(2)如果是单一性的操作可以直接使用单一命令进行操作也是可以的!
ansible工作原理
-
<