zoukankan      html  css  js  c++  java
  • Ansible Role

    Ansible Roles是ansible自1.2版本开始引入的新特性,用于层次性、结构化地组织playbook。

    Roles能够根据层次型结构自动加载template、变量文件、tasks以及handlers等。

    1. Role路径

      # /home/user/.ansible/roles
      # /usr/share/ansible/roles
      # /etc/ansible/roles

    2. 下载系统Role

    # yum install -y rhel-system-rols
    # ansible-galaxy list
    - linux-system-roles.kdump, (unknown version) - linux-system-roles.network, (unknown version) - linux-system-roles.postfix, (unknown version) - linux-system-roles.selinux, (unknown version) - linux-system-roles.timesync, (unknown version) - rhel-system-roles.kdump, (unknown version) - rhel-system-roles.network, (unknown version) - rhel-system-roles.postfix, (unknown version) - rhel-system-roles.selinux, (unknown version) - rhel-system-roles.timesync, (unknown version)

    3. 从指定地点下载Role

    # cat install_role.yaml 
    - src: https://github.com/bennojoy/nginx
      path: vagrant/roles/
    
    # from github, overriding the name and specifying a specific tag
    - src: https://github.com/bennojoy/nginx
      version: master
      name: nginx_role

    # ansible-galaxy install -r install_role.yaml 

    4. 创建Role

    使用方法可以参考系统Role的示例,路径:/usr/share/doc/rhel-system-roles/

    # cd /etc/ansible/roles
    # ansible-galaxy init test-role
    # tree test-role
    .
    ├── defaults      # 此目录应当包含一个main.yml文件,用于为当前角色设定默认变量。
    │   └── main.yml
    ├── files        # 用来存放由copy模块或script模块调用的文件。
    ├── handlers      # 此目录应当包含一个main.yml文件,被task中的notify调用。
    │   └── main.yml
    ├── meta        # 存放Role相关信息,如作者,许可证,平台等信息。
    │   └── main.yml
    ├── README.md
    ├── tasks        # 此目录应当包含一个main.yml文件,用于定义此角色的任务列表。
    │   └── main.yml
    ├── templates      # 用来存放jinjia2模板,template模块会自动在此目录中寻找jinjia2模板文件,而不需要写路径。
    ├── tests        # 用于Role测试。
    │   ├── inventory
    │   └── test.yml
    └── vars        # 此目录应当包含一个main.yml文件,用于定义此角色用到的变量。
        └── main.yml

    5. 调用Role

    ---
    - name:
      hosts: dev
      vars:
        xxx: xxx
      roles:
        - test-role
  • 相关阅读:
    uva11916 Emoogle Grid (BSGS)
    2016vijos 1-2 股神小L(堆)
    bzoj千题计划311:bzoj5017: [Snoi2017]炸弹(线段树优化tarjan构图)
    Oracle Profile 使用详解--zhuanzai
    通过srvctl add命令添加database信息到srvctl管理器-转
    Oracle Dataguard Standby Redo Log的两个实验
    MySQL数据的主从复制、半同步复制和主主复制详解-转
    解决oralce 11g dg搭建报错:ORA-16664、ORA-16714、ORA-16810问题--转
    oracle分布式事务总结-转载
    日志挖掘Logmnr
  • 原文地址:https://www.cnblogs.com/vincenshen/p/12625312.html
Copyright © 2011-2022 走看看