前言
在自动化运维场景中,Ansible 是轻量、高效的批量运维工具,Playbook 是 Ansible 实现配置管理、应用部署、任务自动化的核心编排方式。
本文以创建 Linux 系统用户为实战案例,从零编写标准的 Ansible Playbook,包含完整编写、语法校验、执行验证全流程,适合 Ansible 新手快速上手。
一、环境准备
- 已部署 Ansible 环境(控制节点:test01)
- 目标主机已配置 SSH 免密登录
- 熟悉 YAML 基础语法(缩进敏感、键值对格式)
二、Ansible Playbook 核心概念
- Playbook:YAML 格式的 Ansible 任务脚本,后缀为
.yaml/.yml - Play:剧本中的一个执行单元,包含主机、任务等配置
hosts:指定要执行任务的目标主机 / 主机组tasks:任务列表(必须为复数),存放要执行的操作user:Ansible 内置模块,用于管理 Linux 用户
三、编写标准 Playbook
创建脚本文件 vim first.yaml,编写规范、可直接执行的代码:


yaml
---
# 定义 Play 名称
- name: Automatically create Linux user
# 指定目标主机
hosts: test01
# 任务列表(核心关键字,必须为 tasks)
tasks:
# 单个任务名称
- name: Create user admin1
# 使用 user 模块创建用户
user:
name: admin1 # 用户名
state: present # 状态:present 表示创建,absent 表示删除
脚本说明
---:YAML 文件标准开头,标识文件格式name:任务描述,提升可读性hosts:指定执行任务的目标机器tasks:固定关键字,声明任务集合user模块:系统原生模块,无需额外安装,安全稳定
四、语法校验(必做步骤)
在执行 Playbook 之前,必须先校验语法,避免运行时报错:
bash
运行
ansible-playbook --syntax-check first.yaml

校验成功输出
出现 playbook: first.yaml 表示语法完全正确,警告不影响执行。
五、执行 Playbook
执行命令,一键在目标主机创建用户:
bash
运行
ansible-playbook first.yaml

执行成功输出
PLAY [Automatically create Linux user] ******************
TASK [Gathering Facts] ***********************************
ok: [test01]
TASK [Create user admin1] *******************************
changed: [test01]
PLAY RECAP **********************************************
test01 : ok=2 changed=1 unreachable=0 failed=0
执行结果说明
ok=2:两个任务执行成功changed=1:目标主机状态已变更(用户创建成功)failed=0:无任何错误
六、验证执行结果
登录目标主机,查看用户是否创建成功:
bash
运行
id admin1

输出用户信息即表示创建完成。
七、Playbook 编写规范总结
- 关键字必须正确 :任务列表固定使用
tasks:(复数) - 缩进严格:YAML 语法强制缩进,使用 2 个空格(禁止 Tab)
- 先校验后执行 :养成
--syntax-check校验习惯 - 语义化命名 :
name字段清晰描述任务用途 - 模块标准化:优先使用 Ansible 官方内置模块
八、扩展优化(可选)
可在 Playbook 中增加用户配置,实现更完整的用户创建:
yaml
user:
name: admin1
state: present
home: /home/admin1 # 指定家目录
shell: /bin/bash # 指定默认 shell
create_home: yes # 自动创建家目录
结语
通过本文实战,你已经掌握了 Ansible Playbook 的标准编写、语法校验、执行验证全流程。
Playbook 是 Ansible 自动化的核心,熟练掌握基础写法后,可快速扩展到软件安装、文件分发、服务管理、批量配置等运维场景,大幅提升运维效率。