目录
[一、Linux 自动化的核心价值](#一、Linux 自动化的核心价值)
[1. 解决手动运维痛点](#1. 解决手动运维痛点)
[2. 核心理念:基础架构即代码(IaC)](#2. 核心理念:基础架构即代码(IaC))
[3. 实际收益](#3. 实际收益)
[二、Ansible 核心定义与特性](#二、Ansible 核心定义与特性)
[三、Ansible 核心架构与术语](#三、Ansible 核心架构与术语)
[四、Ansible 版本对比](#四、Ansible 版本对比)
[五、红帽 Ansible 自动化平台(2.2 版本)核心组件](#五、红帽 Ansible 自动化平台(2.2 版本)核心组件)
[七、Ansible 设计理念与用例](#七、Ansible 设计理念与用例)

一、Linux 自动化的核心价值
1. 解决手动运维痛点
-
减少人为失误:人工操作容易出错,自动化可以有效减少这些问题。
-
保证多服务器配置一致性:多台服务器的配置管理常常面临不一致的问题,自动化能够确保各台服务器配置一致,避免手动操作带来的配置偏差。
2. 核心理念:基础架构即代码(IaC)
- 文本文件定义 IT 状态:Ansible 使用 YAML 格式的配置文件(Playbook)来定义 IT 环境,支持版本控制,提升管理效率。
3. 实际收益
-
降低操作风险:通过自动化配置和任务执行,减少了由于人工操作而产生的风险。
-
适配 DevOps 流程:DevOps 强调开发与运维的紧密协作,Ansible 可以无缝融入 DevOps 流程中。
-
提升部署效率:自动化部署节省了大量人工操作的时间,加快了应用部署速度。
二、Ansible 核心定义与特性
定义
Ansible 是一个开源自动化平台,采用 YAML 格式的 Playbook 来描述 IT 架构,使用自动化引擎执行任务。
三大核心特性
-
简单:Playbook 易读易改,无需编写复杂的代码,适合运维人员和开发人员使用。
-
强大:Ansible 覆盖了应用的全生命周期自动化,支持操作系统、网络设备等多种环境的自动化管理。
-
无代理(Agentless):Ansible 不需要在受管主机上安装代理程序,通过 SSH 或 WinRM 标准协议直接连接受管主机进行管理。
核心能力
-
幂等性:Ansible 确保任务的幂等性,重复执行任务时,只有需要变更的部分才会被修改,从而保证配置的一致性。
-
跨平台支持:Ansible 支持不同平台(如 Linux、Windows 和网络设备)的自动化管理。
-
动态清单:通过动态清单,Ansible 可以实时获取受管主机的信息,支持弹性扩展。
-
易集成:Ansible 可以轻松与其他 DevOps 工具进行集成,支持复杂的自动化任务。
三、Ansible 核心架构与术语
核心节点
-
控制节点:安装 Ansible 的机器,负责执行自动化任务。
-
受管主机:被 Ansible 管理的设备,通常通过 SSH 或 WinRM 与控制节点通信。
核心组件
-
Play:Ansible 中的任务执行单元,一组任务共同完成某项工作。
-
Playbook:由多个 Play 组成的文件,定义了一系列自动化任务。
-
Module:Ansible 内置的数百个执行小程序,每个模块执行一个具体任务。
-
Plugin:扩展 Ansible 功能的插件组件。
四、Ansible 版本对比
| 版本类型 | 获取方式 | 红帽支持 | 核心组件 |
|---|---|---|---|
| 社区 Ansible | 上游社区 / pip 安装 | 无 | Ansible Core + 社区内容集合 |
| RHEL 内置 Ansible Core | RHEL 9 AppStream 仓库 | 仅官方 Playbook | 极简 Ansible Core |
| 红帽 Ansible 自动化平台 | 红帽订阅 | 全方位企业级支持 | Ansible Core + 120+ 认证内容集合 + 全套工具 |
五、红帽 Ansible 自动化平台(2.2 版本)核心组件
-
Ansible Core 2.13:作为 Ansible 的基础执行框架。
-
Ansible 内容集合 :模块化封装了各种模块和角色,核心模块保留了
ansible.builtin。 -
ansible-navigator :替代传统的
ansible-playbook的核心工具,提升用户体验。 -
自动化执行环境:通过容器镜像封装运行时依赖,简化部署和管理。
-
自动化控制器(原 Tower):用于管理和监控自动化任务的企业级工具。
六、部署准备要求
控制节点
-
依赖:需要 Python 版本 3.8 或更高。
-
安装命令 :
sudo dnf install ansible-navigator ansible-core -
容器 :需要拉取
ee-supported-rhel8镜像。
受管主机
-
Linux/UNIX :Python ≥3.8,SSH,SELinux 需要安装
python3-libselinux。 -
Windows:PowerShell ≥3.0,.NET Framework ≥4.0。
-
网络设备:无需 Python,支持通过 SSH/HTTP(S) 协议通信。
七、Ansible 设计理念与用例
设计理念
Ansible 强调 极简高效 ,易读优先,并采用声明式编程方式,使得运维任务更加清晰和可管理。
核心用例
-
配置管理:自动配置管理和一致性维护。
-
应用部署:自动化应用部署和版本控制。
-
资源调配:动态资源分配和调度。
-
持续交付:实现自动化的持续交付流程。
-
安全合规:确保系统遵循安全政策和合规要求。
-
编排:多个系统、服务或应用之间的协调与管理。