1. Ansible 基础入门与实战指南
作为一名运维工程师,我使用Ansible已有五年多时间。今天想和大家系统分享Ansible的基础使用,特别是主机清单管理和临时命令执行这两个最常用的功能模块。本文基于Ansible 2.9版本,所有示例都经过实际环境验证。
1.1 Ansible 核心组件解析
安装Ansible后,通过rpm命令可以看到其主要由以下几部分组成:
bash复制$ rpm -ql ansible
/etc/ansible # 主配置目录
/usr/bin/ansible # 可执行文件
/usr/lib/python2.7/site-packages/ansible # 核心库文件
/usr/share/ansible/plugins # 插件目录
/usr/share/doc/ansible # 文档
/usr/share/man/man1/ansible.1.gz # 手册页
提示:在生产环境中,建议使用Python3版本的Ansible,Python2版本已停止维护。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Ansible 主机清单深度解析
2.1 主机清单基础概念
主机清单(Inventory)是Ansible管理的基础,它定义了:
- 需要管理的主机列表
- 主机分组关系
- 主机变量和组变量
2.1.1 静态清单 vs 动态清单
静态清单以文本文件形式定义,适合中小规模环境:
ini复制web1.example.com
web2.example.com
动态清单通过脚本或程序生成,适合云环境:
python复制#!/usr/bin/env python
# 从OpenStack API获取主机列表
2.2 静态清单实战技巧
2.2.1 基础主机定义
最简单的清单就是每行一个主机名或IP:
ini复制web1.example.com
192.0.2.42
验证清单:
bash复制$ ansible --list-hosts -i inventory web1.example.com
2.2.2 主机组管理
通过分组可以批量管理同类主机:
ini复制[webse
