
Ansible的原理与安装
2025/05/29
作者:博睿谷Eva | 红帽Linux环境安装
一、Ansible简介
Ansible是一个开源的自动化工具,采用GPLv3协议,主要用于配置管理、应用部署和任务编排。其企业级版本Ansible Tower(基于开源项目AWX)提供了一个统一的主控管理平台,是目前市场上除了自研以外的唯一选择方案, ansible-tower 来自于 开源的 AWX 。
应用场景
Ansible可管理几乎所有IT资源,包括:
- 网络设备(交换机、路由器)
- 公有云/私有云资源
- 防火墙、服务器
- 中间件(如Redis、消息队列)
示例:部署企业网站时,Ansible可自动化完成以下步骤:
- 安装操作系统
- 配置系统(防火墙、存储)
- 安装Web软件(Nginx/Apache)
- 部署中间件
- 修改Web配置
- 发布网站源码
二、为什么需要自动化?
- 效率提升:消除重复操作,节省工程师时间。
- 复杂任务简化:通过编排实现复杂流程的自动化。
- 一致性保障:确保所有环境配置的统一性。
三、Ansible核心特点
1. 简单易用
- YAML语言:人工可读的配置语法,无需编程技能。
- 任务顺序执行:支持线性执行流程。
- 跨团队适用:适用于运维、开发、测试团队。
- Windows支持:可作为被控节点(需通过WinRM协议)。
2. 功能强大
- 幂等性:多次执行结果一致,支持错误后从断点恢复。
- 企业级编排:支持多任务逻辑组合。
- 状态配置管理:确保系统达到期望状态。
3. 无代理架构
- 通过原生协议管理资源:
- Linux:SSH
- Windows:WinRM
- 网络设备:SNMP
- 云平台:API接口
4. 任务执行模式
- Ad-hoc命令:执行单任务(如创建用户、安装软件包)。
- Playbook:定义复杂任务流程,使用YAML编写。
四、Ansible架构
核心组件
- 核心模块(Core Modules):Ansible内置的功能模块。
- 扩展模块(Custom Modules):用户自定义或社区提供的增强模块。
- 插件(Plugins):补充功能(如日志、回调)。
- Playbook:定义任务流程的YAML文件。
- 连接插件(Connector Plugins):支持SSH、WinRM等协议。
- 主机清单(Host Inventory):定义被管理节点的分组和属性。
五、Ansible工作原理
解析主机清单
读取Inventory文件,确定被管理节点的信息(IP、角色、分组)。建立连接
通过SSH(Linux)或WinRM(Windows)连接到目标节点。任务执行
- 分发模块到目标节点。
- 执行命令并收集结果(如文件操作、服务启停)。
关闭连接
任务完成后释放资源,终止会话。
六、Ansible安装方法
方法1:RPM包安装(RHEL/CentOS)
环境配置
- 配置软件源
RHEL8需添加BaseOS、AppStream和Ansible仓库:[BaseOS] name=BaseOS baseurl=file:///dvd/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///dvd/AppStream enabled=1 gpgcheck=0 [ansible] name=ansible baseurl=file:///ansible/ansible enabled=1 gpgcheck=0
- 安装依赖
yum clean all && yum makecache yum install ansible -y
方法2:源码安装
下载源码包
https://releases.ansible.com/ansible :官方维护的稳定版,相对于开源版本较低
https://github.com/ansible/ansible :社区的开源版本,是最新的版本 wget https://ghproxy.com/https://github.com/ansible/ansible/archive/refs/tags/v2.8.0.zip 下载指定版本的源码包
安装依赖
dnf install -y gcc libffi-devel openssl-devel python3 python3-devel python3-cryptography
编译安装
python3.6 setup.py build python3.6 setup.py install
生成配置文件
mkdir /etc/ansible cp examples/ansible.cfg /etc/ansible/ cp examples/hosts /etc/ansible/
方法3:pip安装
安装依赖
yum install rust cargo python3-cryptography -y
通过pip安装
pip3 install ansible==2.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
生成配置文件
mkdir /etc/ansible touch /etc/ansible/ansible.cfg /etc/ansible/hosts
七、验证安装
ansible --version
输出应包含版本信息(如ansible 2.8.0),表示安装成功。
Ansible凭借其无代理架构、YAML驱动的Playbook和强大的模块化设计,成为自动化领域的标杆工具。无论是通过RPM、源码还是pip安装,均可快速部署并管理IT基础设施。
-
开设课程 开班时间 在线报名OCP2025.04.26
在线报名
HCIP-AI Solution2025.04.26在线报名
HCIE-openEuler2025.05.03在线报名
RHCA-CL2602025.05.04在线报名
HCIP-Cloud2025.05.10在线报名
PGCM直通车2025.05.10在线报名
HCIA-Datacom(晚班)2025.05.19在线报名
HCIA-Sec2025.06.07在线报名
RHCA-RH4422025.06.07在线报名
PMP2025.06.10在线报名
HCIA-Datacom2025.06.14在线报名
HCIE-AI Solution2025.06.14在线报名
HCIE-Datacom2025.06.14在线报名
HCIP-Datacom(晚班)2025.06.16在线报名
OCM2025.06.21在线报名
HCIE-Cloud2025.06.21在线报名
HCIP-Sec2025.06.21在线报名
HCIE-Bigdata2025.06.28在线报名
RHCE2025.06.28在线报名
HCIE-Datacom考前辅导2025.07.05在线报名
HCIP-Datacom深圳2025.07.19在线报名
CISP2025.07.19在线报名
HCIA-Datacom(晚班)2025.07.21在线报名
RHCA-RH4362025.07.26在线报名
OCP2025.07.26在线报名
HCIE-Sec2025.08.09在线报名
HCIA-AI Solution2025.08.16在线报名
HCIP-Datacom(晚班)2025.08.25在线报名
RHCA-RH3582025.09.06在线报名
PMP2025.09.16在线报名
HCIE-Datacom2025.09.06在线报名
HCIA-AI Solution2025.09.27在线报名
HCIA-Datacom2025.09.27在线报名
PGCM直通车2025.10.11在线报名
RHCA-DO3742025.10.11在线报名
HCIA-Sec2025.10.11在线报名
RHCE2025.10.18在线报名
HCIP-Datacom2025.11.08在线报名
HCIP-Sec2025.11.08在线报名
RHCA-CL2602025.11.15在线报名
OCP2025.11.15在线报名
HCIE-Sec2025.12.13在线报名
HCIE-Datacom2026.01.10在线报名



