• SaltStack之Targeting


    什么是Targeting?

    Targeting minions 是指哪些minion会作为运行命令或是执行状态的目标。这些目标可以是一个主机名,系统信息,定义的分组,甚至是自定义的绑定的对象。

    例如:

    salt ‘*’ test.ping #匹配所有的minion

    Targing的匹配方式

        通配符匹配
    -G  Grains匹配  
    -I  Pillar匹配
    -L  列表匹配
    -E  Minion Id 正则匹配
    -S  子网/IP地址匹配
    -R  Range cluster匹配
    

    通配符匹配

    salt '*'  test.ping
    salt '192.168.0.*'  test.ping
    salt 'node[23-24]' test.ping
    

    Minion Id 正则匹配

    salt -E 'node(23|24).com' test.ping
    

    在top.sls文件中使用正则匹配

    base:
      'node(23|24).com':
        - match: pcre
        - nginx
    

    列表匹配
    对一些特殊要求的minion对象,也可以手动指定一系列ID作为目标

    salt -L 'node23.com,node24.com' test.ping
    

    Grains匹配

    salt -G 'os:CentOS' test.ping
    

    在top.sls文件中使用grains匹配

    base:
      'os:CentOS':
        - match: grain
        - nginx
    

    Pillar匹配
    pillar的匹配方式跟grains差不多,不过需要把key/value换成pillar对象

    salt -I 'nginx:PORT:8081' cmd.run 'uptime'
    

    子网/IP地址匹配

    salt -S '192.168.0.0/24' test.ping
    

    最后,有时候匹配到的minion会有很多,如果同时执行可能导致master直接挂机,所以salt很贴心得给了个分批执行的功能,例如下面的操作:

    # 分10个minion一批进行执行,直到执行完毕
    salt '*' -b 10 test.ping
    
    # 分成25%一批进行执行,直到执行完毕
    salt -G 'os:CentOS' --batch-size 25% state.highstate
    
  • 相关阅读:
    WCF学习笔记1发布使用配置文件的服务
    Oracle(Hierarchical Queries)层级查询
    Telerik UI For WinForms关于RadGridView的列排序
    C#异步显示工作进度
    CodeSmith连接Oracle
    Access数据导入SQLServer2008R2
    Oracle (RANK) 排名函数
    C#INotifyPropertyChanged(解决数据绑定的界面刷新问题)
    Code Complete读书笔记03
    C++ Primer Plus读书笔记08
  • 原文地址:https://www.cnblogs.com/iteemo/p/5577110.html
Copyright © 2020-2023  润新知