Ansible Playbook 进阶指南:从基础到 TLS 支持
1. 任务命名与参数传递
任务命名虽非强制,但使用逻辑正确的名称是良好的实践。任务名称能有效提醒任务的意图,在查看 playbook 日志时非常有用。例如,Ansible 在运行任务时会打印任务名称。
传递模块参数时有两种方式。可以使用 -a 标志将参数作为一个字符串传递给 ansible 命令,并使用 -m 标志指定模块,示例如下:
$ ansible webservers -b -m package -a 'name=nginx update_cache=true'
不过要注意,从 Ansible 解析器的角度看,这种形式下参数被视为一个字符串,而非字典。在临时命令中这样做没问题,但在 playbook 里,尤其是对于有许多可选参数的复杂模块,更容易引入 bug。为了更好地进行版本控制和代码检查,建议使用 YAML 语法,示例如下:
- name: Ensure nginx is installed
package:
name: nginx
update_cache: true
2. Ansible 模块
模块是随 Ansible 一起打包的脚本,用于在主机上执行特定操作。Ansible 模块种类繁多,Unix/Linux 模块用 Python 编写,Windows 模
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



