saltstack草稿

salt [options] '<target>' <module.function> [arguments]

salt的自建函数:

salt '*' test.rand_sleep 120           salt/salt/modules/test.py   这个是salt自带的包

salt '*' disk.usage

salt -G 'ipv4:192.168.50.12' cmd.run 'ls -l /home'

salt '*' grains.get ip_interfaces     grains是获取minions的数据,grains的主要作用是用在对minion的筛选上

扫描二维码关注公众号,回复: 15511747 查看本文章

                                                     piller是向minions下发数据

salt 'minion2' state.apply nettools  //执行sls文件

salt '*' state.apply //对所有的minion应用这个top.sls设定     state.apply后面不接参数的话叫做highstate,会自动去应用top.sls文件

 

  • grains

grains是关于minion的静态信息,例如os版本,ip信息,内存硬盘大小等等。minion初次连接就会传递这些数据给saltmaster,同时周期更新或者saltmaster主动请求更新。

grains的主要作用是用在对minion的筛选上,还记得上面的远程执行命令中有一个'<target>'吗,grains就可以用在这个上面。例如针对不同os的系统执行不同的命令。

  • pillar

pillar是saltmaster往下发送给minion的数据,因为经过加密,所以可以用来传递一些私密信息,例如密码等等。同时pillar的数据也不会在minion端进行本地持久化,确保安全。

上面提到了配置管理,但是修改配置的时候参数往往是很多的,而且不同的系统也会不一样,例如安装路径,监听端口,用户名等等。pillar可以让你定义这些信息,然后以变量的形式插入到states文件中去执行。

pillar文件也是采用YAML格式。

  • mine

顺便值得一提的是mine这个数据传递的方向,用于在minion之间传递数据。这是个不太常见的功能,以后有机会通过实例来讲解。
————————————————
版权声明:本文为CSDN博主「T型人小付」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Victor2code/article/details/103620009

1.常用语法

  1. salt '*' cmd.run "ab -n 10 -c 2 http://www.google.com/"
  2. salt '*' grains.ls 查看grains分类
  3. salt '*' grains.items 查看grains所有信息
  4. salt '*' grains.item osrelease 查看grains某个信息
  5. salt '*' cmd.run "/App/nginx/sbin/nginx -v"

2.分组

[root@localhost ~]# salt -C 'P@os:CentOS' test.ping
host172:
    True
host174:
    True

[root@localhost ~]# vim /etc/salt/master
nodegroups:
  group1: 'L@host172,host174'
  group2: '[email protected]'
  group3: 'P@os:CentOS'
[root@localhost ~]# salt -N group1 test.ping
host172:
    True
host174:
    True
[root@localhost ~]# salt -N group2 test.ping
host172:
    True
[root@localhost ~]# salt -N group3 test.ping
host172:
    True
host174:
    True

3.grains组件

猜你喜欢

转载自blog.csdn.net/qq_32907195/article/details/114846260
今日推荐