美文网首页
Ansible学习——组件之roles day7

Ansible学习——组件之roles day7

作者: 全栈小运维 | 来源:发表于2020-05-10 11:23 被阅读0次
roles 角色

在ansible中,roles是playbooks的一部分。playbooks模块化之后,成为roles的组织结构,易读,代码可重用,层次清晰。

ansible的roles用于层次性、结构化地组织palybook。roles能够根据层次型结构自动装载变量文件、tasks及handlers等。要使用roles只需要playbook中使用include指令即可。

以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等;
role_name/

files/:
存储由copy或script等模块调用的文件;
tasks/:
此目录中至少应该有一个名为main.yml的文件,用于定义各task;其它的文件需要由main.yml进行“包含”调用;
handlers/:
此目录中至少应该有一个名为main.yml的文件,用于定义各handler;其它的文件需要由main.yml进行“包含”调用;
vars/:
此目录中至少应该有一个名为main.yml的文件,用于定义各variable;其它的文件需要由main.yml进行“包含”调用;
templates/:
存储由template模块调用的模板文本;
meta/:
此目录中至少应该有一个名为main.yml的文件,定义当前角色的特殊设定及其依赖关系;其它的文件需要由main.yml进行“包含”调用;
default/:
此目录中至少应该有一个名为main.yml的文件,用于设定默认变量;

在playbook中调用角色的方法:

- hosts: HOSTS
  remote_user: USERNAME
  roles:
  - ROLE1
  - ROLE2
  - { role: ROLE3, VARIABLE: VALUE, ...}
  - { role: ROLE4, when: CONDITION }
roles目录结构

root@node1 playbook]# tree roles/

roles/ \\ansible所有的信息都放到此目录下面对应的目录中
└── nginx  \\角色名称
    ├── default  \\为当前角色设定默认变量时使用此目录,应当包含一个main.yml文件;
    ├── files  \\存放有copy或script等模块调用的文件
    ├── handlers \\此目录总应当包含一个main.yml文件,用于定义各角色用到的各handler
    ├── meta \\应当包含一个main.yml,用于定义角色的特殊设定及其依赖关系;1.3及以后版本支持
    ├── tasks \\至少包含一个名为main.yml的文件,定义了此角色的任务列表,可使用include指令
    ├── templates \\template模块会自动在此目录中寻找Jinja2模板文件
    └── vars  \\应当包含一个main.yml文件,用于定义此角色用到的变量

相关文章

  • Ansible学习——组件之roles day7

    roles 角色 在ansible中,roles是playbooks的一部分。playbooks模块化之后,成为r...

  • Ansible 组件 Roles

    合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。——《老子•道德经》 Roles ==========...

  • Ansible之roles

    1.Roles介绍 ansible自1.2版本引入的新特性,用于层次性、结构化地组织playbook。roles能...

  • Ansible Roles 角色

    Linux System Environment Ansible Roles角色简介 Ansible 角色是基于A...

  • Ansible Playbook Roles 实战案例

    1.Playbook Roles ansible roles 角色 适合大规模使用playbook如果文件较多的情...

  • 20171118 Ansible

    ansible介绍ansible常用模块使用playbooktemplates,模板条件测试和循环迭代roles,...

  • ansible roles

    ansible roles 目录结构 文件内容 tasks tasks目录下 应该有一个main.yaml文件包含...

  • ansible实现lamp

    ansible实现lamp 创建role的步骤(1) 创建以roles命名的目录;(2) 在roles目录中分别创...

  • Ansible Galaxy SSL 报错

    [root@localhost roles]# ansible-galaxy install dj-wasabi....

  • ansible

    http://fishcried.com/2016-09-05/ansible-roles/

网友评论

      本文标题:Ansible学习——组件之roles day7

      本文链接:https://www.haomeiwen.com/subject/ohejwhtx.html