本篇主要是根据官方翻译而来,从而使简单的翻译,并没有相关的实验步骤,以后文章会补充为实验步骤,此篇主要是相关理论的说明,可以称之为中文手册之一,具体内容如下:
Ansible playbooks最佳实践
本文档主要阐述如何来写最好的playbook,在如下网址中能找到相关的例子,如下:
https://github.com/ansible/ansible-examples
在使用playbooks的最佳路径中,最好的方法是使用roles,这是最好的方法,在官方文档中,至少强调了三篇,从而在使用playbooks的时候,最好就是使用roles来进行组织playbook。
1、 目录结构
在使用roles进行组织的时候,是具有目录结构的,目录结构的使用也是将playbooks进行组织,在使用include的时候,主要是为了重用的目的,从而将复杂的playbook进行分割成小的,从而达到重用的目的,如下所示,表示为roles的目录组织结构。
production # 生产环境服务器的列表(inventory file) staging # 测试环境服务器列表(inventory file)
group_vars/ group1 # 对特定的组分配变量 group2 # "" host_vars/ hostname1 # 主机特定变量 hostname2 # ""
library/ # 客户端模块(可选) filter_plugins/ # 客户端过滤模块(可选)
site.yml # master playbook webservers.yml # webserver 的playbook dbservers.yml # dbserver 的playbook
roles/ common/ # 此层表示为一个 "role" tasks/ # main.yml # <-- 任务文件 handlers/ # main.yml # <-- handlers文件 templates/ # < |