• STATES TUTORIAL(第六部分)


    INCLUDE AND EXCLUDE

    包含sls文件或排除已经include进来的sls文件,可以对sls文件进行很好的扩展。


    INCLUDE

    示例:

    1 include:
    2   - http
    3   - libvirt
    View Code

    sls可以包含同环境的其他sls文件,同时也可以显示的引入其他环境的sls文件,如下:

    1 include:
    2   - dev: http
    View Code

    Do not use dots in SLS file names or their directories
    不要在sls文件名和目录中使用点号,譬如webserver_1.0是不能正确识别的,会被识别为webserver_1/0.sls。


    RELATIVE INCLUDE

    使用相对路径进行包含

    1 include:
    2   - .virt
    3   - .virt.hyper
    View Code

    示例:

    1 include:
    2   - ..http
    3   - ...base
    View Code

    譬如当前的include声明所在的sls文件是example.dev.virtual,上面的示例中的包含关系可以解释成example.http和base ,
    每一个点号代表着上一层目录。


    EXCLUDE

    exclude可用于排除sls文件或ID块,示例:

    1 exclude:
    2   - sls: http
    3   - id: /etc/vimrc
    View Code

    注意:如果有多个id重复的话,state文件在检查运行是会报错。


    #################################################################################

    STATE SYSTEM LAYERS

    state系统层级关系,state系统是有多个状态层级组成,了解salt如何编译和管理state非常有益。


    FUNCTION CALL

    在状态系统中最底层的功能是直接调用函数执行,可以通过state.single命令直接执行。
    示例:

    salt '*' state.single pkg.installed name='vim'


    LOW CHUNK

    一个单一的低级状态数据(函数调用的数据表示)可以通过state.low命令调用执行:
      salt '*' state.low '{name: vim, state: pkg, fun: installed}'


    LOW STATE

    示例:
      salt '*' state.show_lowstate

    结果将显示各个数据状态块被检查评估,并不是按顺序进行,但必须在运行时进行,检查完毕之后的生成的顺序将是执行后的实际顺序。


    HIGH DATA

    high data数据结构是有sls文件中的yaml格式内容生成的,包括合并其他sls文件,high data数据更容易被执行,使用state.show_highstate和state.show_sls函数,因为high data数据结构比较复杂,可以将其输出为yaml或其他易读的格式展示。

    salt '*' state.show_highstate --out yaml
    salt '*' state.show_sls edit.vim --out pprint


     SLS

    sls文件生成high data数据结构可以是动态的,譬如执行渲染逻辑和引入pillar变量等,sls层可以直接调用执行单个sls文件
    示例:
      salt '*' state.apply edit.vim 


    HIGHSTATE

    Highstate层允许对已指定匹配执行的minion分配完整的上下文内容,而无需执行或配置目标minion上的任何内容。
    salt '*' state.apply #注意是不带参数的


    ORCHESTRATE


    关于state配置的层级关系简要说明:
      LOW CHUNK:简单的配置数据块,经过编译后的数据形式
      LOW STATE:简单的state文件配置数据块,经过编译后的数据形式
      HIGH DATA:经过渲染和初步编译后的数据配置形式
      HIGHSTATE:一群相互关联的sls文件组成的配置形式,一般放在top.sls中。

  • 相关阅读:
    P2622 关灯问题II(关灯问题)
    P1140 相似基因
    Choose and Divide UVa 10375
    Disgruntled Judge UVA
    Color Length UVA
    P1052 过河
    P1026 统计单词个数
    Balanced Number HDU
    The SetStack Computer UVA
    Urban Elevations UVA
  • 原文地址:https://www.cnblogs.com/solitarywares/p/7518485.html
Copyright © 2020-2023  润新知