这是纯实操、可直接复制运行的教程,完全适配 openEuler 系统,一步一步跟着做就能完成全部 6 个任务。
前置准备
确保已经:
- 安装好 Ansible
- 配置好主机清单(
/etc/ansible/hosts) - 节点之间免密登录
任务 1:查询当前版本 Ansible 有多少个核心模块

运行
# 查看 ansible 版本
ansible --version
# 列出所有可用模块(核心+扩展),统计数量
ansible-doc -l | wc -l
ansible-doc -l:列出所有模块wc -l:统计行数(即模块总数)
任务 2:查看 ping 模块的帮助信息
运行
ansible-doc ping


- ping 模块不是网络 ping,是 Ansible 测试连通性的模块
- 帮助内容很少,因为参数极少
任务 3:查看 user 模块的帮助信息,对比 ping 模块
运行
ansible-doc user


两者区别
- ping 模块:功能单一、参数少,仅做连通性测试
- user 模块:管理系统用户,参数非常多(创建、删除、修改家目录、UID、GID、shell 等)
任务 4:写一个 Ansible ping 指令,修改 ping 的返回值
Ansible ping 模块有一个参数 data,可以自定义返回内容。
运行
ansible all -m ping -a "data=hahahaha"

运行后返回结果会变成你自定义的文字,而不是默认的 pong。
任务 5:查看 user 模块的用法(简洁版)
运行
ansible-doc -s user


-s:只显示参数用法,不显示长篇说明- 能快速看到:
name、shell、state等关键参数
任务 6:用 user 模块在第 3 台机器添加账号,shell 为 /bin/sh
方式 1:指定第 3 台机器的主机名 / IP
运行
ansible "test03" -m user -a "name=zhangsan03 shell=/bin/sh state=present"

方式 2:如果你的主机分组,直接用序号匹配(第 3 台)
运行
ansible "all[2]" -m user -a "name=testuser shell=/bin/sh state=present"
命令解释
name=testuser:用户名shell=/bin/sh:指定登录 shellstate=present:确保用户存在(即创建用户)
验证是否创建成功
运行
ansible test03 -m shell -a "grep testuser /etc/passwd"
全套命令汇总(可直接复制执行)
运行
# 1. 查看模块数量
ansible-doc -l | wc -l
# 2. 查看 ping 帮助
ansible-doc ping
# 3. 查看 user 帮助
ansible-doc user
# 4. 自定义 ping 返回值
ansible all -m ping -a 'data="自定义返回值:openEuler连通性正常"'
# 5. 查看 user 简化用法
ansible-doc -s user
# 6. 在第3台机器创建用户
ansible test03 -m user -a "name=myuser shell=/bin/sh"
总结
ansible-doc是查看模块帮助的核心命令ping模块简单,user模块功能强大- Ad-Hoc 命令 =
ansible 主机 -m 模块 -a "参数" - openEuler 上 Ansible 用法与 CentOS/RHEL 完全一致