美文网首页
salt命令

salt命令

作者: 老夫刘某 | 来源:发表于2017-06-30 17:43 被阅读0次

    所有是ubuntu系统的minions都执行test.ping:

    ubuntu1:
        True```
    
    返回操作系统多有信息:
    

    root@ubuntu:~# salt ubuntu1 grains.items
    ubuntu1:
    biosreleasedate: 07/02/2015
    biosversion: 6.00
    cpu_flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch epb fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
    cpu_model: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
    cpuarch: x86_64
    defaultencoding: None
    defaultlanguage: None
    domain:
    fqdn: ubuntu1
    fqdn_ip4:
    fqdn_ip6:
    gpus:
    {'model': 'SVGA II Adapter', 'vendor': 'unknown'}
    host: ubuntu1
    id: ubuntu1
    ip_interfaces: {'eth0': ['192.168.190.131'], 'docker0': ['172.17.0.1'], 'veth9fc8172': [], 'veth7bc5fce': [], 'lo': ['127.0.0.1'], 'veth15599ce': [], 'veth9d444c5': [], 'veth0717d88': [], 'vethee37c05': [], 'veth4ce75ba': [], 'docker_gwbridge': ['172.18.0.1'], 'veth695e94c': [], 'veth8cac166': [], 'veth1a0b0d5': [], 'vethdee3498': [], 'vethda3ae8e': []}
    ipv4:
    127.0.0.1
    172.17.0.1
    172.18.0.1
    192.168.190.131
    ipv6:
    ::1
    fe80::182e:37ff:fe4e:faea
    fe80::20c:29ff:fe29:ce4
    ....

    命令合成:
    
    ```root@ubuntu:~# salt -C  'G@os:ubuntu  and webser* or E@db.*'  test.ping```
    
    预定nodegroups允许在主配置文件中声明预定义的符合目标,这是一种符合表达式的简写形式:
    
    ```nodegroups:group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'group2: 'G@os:Debian and foo.domain.com'
    group3: 'G@os:Debian and N@group1'```
    
    vim  /etc/salt/master,nodegroups行加入groupN,然后重启,执行命令为:
    salt    -N    groupN  test.ping
    
    匹配所有minions:
    
    

    root@ubuntu:~# salt '*' test.ping
    ubuntu1:
    True

    
    minions id匹配:
    
    salt '*.example.net' test.pingsalt '*.example.*' test.ping
    
    匹配webN,例如( (web1.example.net
    ,web2.example.net
    …webN.example.net
    )):
    
    salt 'web?.example.net' test.ping
    
    匹配web1到web5:
    
    salt 'web[1-5]' test.ping
    
    匹配web1和web3:
    
    salt 'web[1,3]' test.ping
    
    正则匹配:
    匹配web1-prod和web-devel:
    
    salt -E 'web1-(prod|devel)' test.ping
    
    使用正则匹配state's top  file,首先要指定要匹配的machers,如下:
    
    base:  'web1-(prod|devel)':  - match: pcre  - webserver
    
    list:
    
    salt -L 'web1,web2,web3' test.ping
    
    批处理大小(**Batch Size**):
    
    salt '*' -b 10 test.ping     #10个minions上运行test.ping命令
     
    salt -G 'os:RedHat' --batch-size 25% apache.signal restart   #25%的机器上执行apache重启
    
    开启minion可以向master  push文件,vim  /etc/salt/master,找到file_recv 去掉注释将false改为true.
    salt 'minion-id' cp.push /path/to/the/file
    
    这样就从指定的minion上获取到了指定的文件
    https://docs.saltstack.com/en/latest/ref/configuration/master.html#std:conf_master-file_recv

    相关文章

      网友评论

          本文标题:salt命令

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