Ansible 是 Red Hat 旗下的开源自动化运维工具,通过 SSH 直接管理目标主机,无需在客户端安装任何代理,用人类可读的 YAML 描述「最终状态」。
核心优点
- 无代理架构:只要目标主机能 SSH,就能被管理,几乎零侵入。
- 幂等性:重复执行同一 Playbook 结果一致,不会重复应用配置。
- YAML 可读:配置即代码,天然适合版本管理与代码评审。
- 模块丰富:系统、网络、云、容器等数千个现成模块。
- 批量执行:一条命令对几百台主机并行执行任务。
快速上手
# 安装(Ubuntu/Debian)
apt install ansible
# ad-hoc 批量执行:检查所有主机存活
ansible all -i hosts.ini -m ping
# 批量执行 shell 命令
ansible all -i hosts.ini -m shell -a 'uptime'
Playbook 最小示例
---
- hosts: web
become: yes
tasks:
- name: 安装 Nginx
apt:
name: nginx
state: present
- name: 启动并开机自启
service:
name: nginx
state: started
enabled: yes
适用场景
批量服务器初始化、配置标准化、应用发布、安全加固(如批量关闭密码登录)、混合云环境统一管理。