标签:class playbook 示例 mil pos role 功能 yml yum
1. ansible-角色-roles目录结构
角色是基于已知文件结构自动加载某些vars_files,任务和处理程序的方法。按角色对内容进行分组还可以轻松与其他用户共享角色。
以下是角色目录结构示例图:
1) 目录结构解释
角色期望文件位于某些目录名称中。角色必须至少包含其中一个目录,但是排除任何未使用的目录是完全正确的。在使用时,每个目录必须包含一个main.yml文件,其中包含相关内容:
其他YAML文件可能包含在某些目录中。例如,通常的做法是从 tasks/main.yml 文件中包含特定于平台的任务:
1 # roles/example/tasks/main.yml 2 - name: added in 2.4, previously you used ‘include‘ 3 import_tasks: redhat.yml 4 when: ansible_facts[‘os_family‘]|lower == ‘redhat‘ 5 - import_tasks: debian.yml 6 when: ansible_facts[‘os_family‘]|lower == ‘debian‘ 7 8 # roles/example/tasks/redhat.yml 9 - yum: 10 name: "httpd" 11 state: present 12 13 # roles/example/tasks/debian.yml 14 - apt: 15 name: "apache2" 16 state: present
角色还可以包括模块和其他插件类型
2) 使用角色
使用角色的经典(原始)方式通过给定游戏的选项:roles
1 --- 2 - hosts: webservers 3 roles: 4 - common 5 - webservers
这为每个角色“xxx”指定了以下行为:
以下这种方式使用时,你的剧本的执行顺序如下:
标签:class playbook 示例 mil pos role 功能 yml yum
原文地址:https://www.cnblogs.com/scajy/p/11646046.html