zoukankan      html  css  js  c++  java
  • ansible学习

    ansible 基础概念

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    inventory 主机源
     
    playbooks 一组运行任务的命令集合
     
    roles 角色
     
    tasks 运行任务列表
     
    handlers 运行任务后的触发动作
     
    variables 定义的变量

     ansible目录结构

    使用Role组织任务,可以将复杂的Playbook剧本进行拆分,达到缩小文件,任务重用的作用

    通常创建一个role的方法有两种:

    命令mkdir和touch行手动创建

    使用ansible-galaxy自动初始化一个role

    ansible-galaxy init huazai007

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    [root@master huazai007]# tree
    .
    ├── defaults
    │   └── main.yml
    ├── files
    ├── handlers
    │   └── main.yml
    ├── meta
    │   └── main.yml
    ├── README.md
    ├── tasks
    │   └── main.yml
    ├── templates
    ├── tests
    │   ├── inventory
    │   └── test.yml
    └── vars
        └── main.yml

     defaults

    必须存在的目录,存放默认的变量,模板文件中的变量就是引用自这里。defaults中的变量优先级最低,通常我们可以临时指定变量来进行覆盖

    files

    ansible中unarchive、copy等模块会自动来这里找文件,从而我们不必写绝对路径,只需写文件名

    handlers

    存放tasks中的notify指定的内容 任务执行改变后触发的动作。

    handler也是task,但只task notify通知后才会触发,且多个task同时调用handler,只会触发一次

    tasks
    play中运行的任务命令,也就是执行的哪些ansible模块,如command,shell,service,yum等

    templates

    存放模板文件。template模块会将模板文件中的变量替换为实际值,然后覆盖到客户机指定路径上

    Vars

    定义的主机变量和主机组变量。若group_vars,host_vars,role/vars目录中定义了相同变量名,优先级group_vars < host_vars < vars。

  • 相关阅读:
    P1032 字串变换
    P3203 [HNOI2010]弹飞绵羊
    P3690 【模板】Link Cut Tree (动态树)
    P2147 [SDOI2008]洞穴勘测
    P3950 部落冲突
    Codeforces Round #469 Div. 2题解
    线段树
    SDOI2018退役记
    4.1模拟题
    无旋Treap
  • 原文地址:https://www.cnblogs.com/xiaonan1/p/12759512.html
Copyright © 2011-2022 走看看