1.特性
no agents:不需要在被管控主机上安装任何客户端;
no server:无服务器端,使用时直接运行命令即可;
modules in any languages:基于模块工作,可使用任意语言开发模块
yaml,notcode:使用yaml语言定制剧本playbook
ssh by default:基于SSH工作
strong multi-tier solution:可实现多级指挥
2.架构
ansible core:ansible自身核心模块
host inventory:主机库,定义可管控的主机列表
connection plugins:连接插件,一般默认基于ssh协议连接
modules:core modules(自带模块)、custom modules(自定义模块)
playbooks:剧本,按照所设定编排的顺序执行完成安排任务(yaml,jinjia2)
3.工作模式
模块化设计调用特定的模块来完成特定任务,本身是核心组件,短小精悍;
基于Python实现,由Paramiko,PyYAML和Jinja2(模板化)三个关键模块实现;
Paramiko:python的一个可并发连接ssh主机功能库
主从模式工作:
master:ansible、ssh client;
slave:ssh server
默认使用SSH协议:
(1)基于密钥认证
(2)在inventory文件中指定账号和密码
时间: 2024-10-15 12:10:16