【Ansible】Ansible介绍
https://docs.ansible.org.cn/ansible/latest/index.html
一、Ansible 介绍
Ansible是一款基于Python开发的开源自动化工具,主要用于配置管理、应用部署、任务自动化和持续交付。它由Red Hat
公司维护,采用无代理架构(无需在目标主机上安装客户端),通过SSH进行通信,简化了大规模系统的管理。
二、Ansible 的特点
- 无代理架构(部署简单)
直接通过SSH或WinRM管理目标主机,无需安装额外的客户端 - 基于模块化设计
Ansible本身仅提供框架,真正的批量操作由模块实现。支持的模块成千上万,可解决大部分场景 - 声明式YAML语法
使用Playbook定义自动化任务,直观易读,方便完成复杂任务 - 跨平台支持
各平台设备都可被Ansible管理 - 可扩展
支持API及自定义模块,可通过Python进行扩展 - 幂等性
重复执行任务不会导致系统状态异常,确保操作一致性
三、Ansible 模块化
Ansible本身像是一个工具箱,工具箱里存放着许许多多的工具,这些工具就是Asnsible的模块。根据不同场景,我们要选择最合适自己的工具(模块)。
四、 Ansible 执行过程
- 用户发出Ansible命令(Ad-Hoc或Playbook)
- Ansible主程序加载自己的配置文件/etc/ansible/ansible.cfg
- 读取主机清单中的设备IP或域名及变量
- 调用Ansible命令中指定的模块,通过Ansible将模块参数生成对应的临时python脚本,传输至目标服务器
- 对应目标主机的执行用户的家目录中出现.ansible/tmp/xxx/xxx.py文件,给改文件赋予可执行权限。执行该脚本并返回结果