使用剧本
Playbook 记录并执行 Ansible 的配置、部署和编排功能。它们可以描述您希望远程系统强制执行的策略,或者通用 IT 流程中的一组步骤。
如果说 Ansible 模块是您工作坊中的工具,那么 Playbook 就是您的操作手册,而主机清单(Inventory)则是您的原材料。
在基础层面,Playbook 可用于管理远程机器的配置和部署。在高级层面,它们可以编排涉及滚动更新的多层部署序列,并将操作委派给其他主机,在此过程中与监控服务器和负载均衡器进行交互。
Playbook 旨在让人易读,并使用基础文本语言开发。组织 Playbook 及其包含的文件有多种方式,我们将就此以及如何充分利用 Ansible 提供一些建议。
- 模板化 (Jinja2)
- 使用过滤器操作数据
- 测试
- 查找 (Lookups)
- 模板中的 Python3
- now 函数:获取当前时间
- undef 函数:为未定义变量添加提示
- 循环
- 控制任务运行位置:委托与本地操作
- 条件语句
- 块 (Blocks)
- 处理程序 (Handlers):在变更时运行操作
- Playbook 中的错误处理
- 设置远程环境
- 使用特定语言的版本管理器
- 重用 Ansible 工件
- 角色 (Roles)
- 模块默认值
- 交互式输入:提示 (Prompts)
- 使用变量
- 发现变量:事实 (Facts) 和魔术变量
- Play 参数验证
- 规范格式
- 规范示例
- Playbook 示例:持续交付与滚动升级