salt命令、使用pillar、使用state

一、常用模块、命令、执行

相关文档:http://docs.saltstack.cn/contents.html

1、列出所有salt的sys模块及某个模块的功能

salt内置的执行模块列表:http://docs.saltstack.cn/ref/modules/all/index.html

salt内置的执行模块列表(参考):https://docs.saltproject.io/en/latest/ref/modules/all/index.html#all-salt-modules


[root@dev32 ~]# salt 192.168.180.48 sys.list_modules

# 查看其中的cmd、test模块有哪些功能
[root@dev32 ~]# salt '192.168.180.48' sys.list_functions cmd
192.168.180.48:
    - cmd.exec_code
...
    - cmd.retcode
    - cmd.run
    - cmd.run_all
...
    - cmd.shell
...
    - cmd.which
    - cmd.which_bin
[root@dev32 ~]# salt '192.168.180.48' sys.list_functions test
192.168.180.48:
    - test.arg
    - test.arg_clean
 ...

    - test.ping
    ...
    - test.version
    - test.versions
    - test.versions_report

2、执行test模块下的ping方法

# 指定一个minion
[root@dev32 ~]# salt '192.168.180.48' test.ping
192.168.180.48:
    True

# 指定多个minions : -L:list,可指定多个minions,多个minions之间用空格或者逗号隔开
[root@dev32 ~]# salt -L '192.168.180.47 192.168.180.48' test.ping
[root@dev32 ~]# salt -L '192.168.180.47,192.168.180.48' test.ping
192.168.180.47:
    True
192.168.180.48:
    True

# 指定组来指定多个minions : 组配置放在 /etc/salt/master.d/group.conf
[root@dev32 ~]# salt -N paas-test test.ping
192.168.181.116:
    True
192.168.181.118:
    True
192.168.181.115:
    True
192.168.181.117:
    True
[root@dev32 ~]# 


# 所有的minions
[root@manager110 manager110]# salt "*" test.ping

3、cmd超级模块,所有shell命令都能执行

[root@dev32 ~]#  salt -L 192.168.180.47,192.168.180.48 cmd.run hostname
192.168.180.47:
    test2
192.168.180.48:
    test3

4、salt-run命令

SaltStack 中的 salt-run 命令是一个用于执行 Salt 运行程序(Runners)的命令行工具。Runners 是一类特殊的 Salt 模块,用于执行一些系统级别的操作或管理任务,通常不直接涉及到对 Minion 的配置管理,而是处理 Salt 控制节点(Master)上的全局任务。

使用方式

  • 基本语法:
salt-run [options] <runner_name>.<function_name> [arguments]
  • salt-run: 是运行 Salt Runners 的命令。
  • runner_name: 是指定的 Salt 运行程序的名称。
  • function_name: 是要调用的具体函数或操作。
  • arguments: 是可选的参数,用于传递给函数的输入。

示例:

# 把salt-run的所有命令放入a.txt
[root@dev32 ~]# salt-run > a.txt
#查看salt-run manage相关命令
[root@dev32 ~]# salt-run manage
比如
salt-run manage.status   ##查看所有minion状态
salt-run manage.down     ##查看所有没在线minion
salt-run manage.up       ##查看所有在线minion

5、salt-key密钥管理,通常在master端执行

salt-key [options]
salt-key -L              ##查看所有minion-key
salt-key -a <key-name>   ##接受某个minion-key
salt-key -d <key-name>   ##删除某个minion-key
salt-key -A              ##接受所有的minion-key
salt-key -D              ##删除所有的minion-key

6、salt-call

该命令通常在minion上执行,minion自己执行可执行模块,不是通过master下发job

salt-call [options] <function> [arguments]
salt-call test.ping           ##自己执行test.ping命令
salt-call cmd.run 'ifconfig'  ##自己执行cmd.run函数

7、salt-cp

分发文件到minion上,不支持目录分发,通常在master运行

salt-cp [options] '<target>' SOURCE DEST
salt-cp '*' a.txt /tmp
salt-cp -L 192.168.180.47,192.168.180.48 a.txt /tmp/b.txt

8、salt-ssh

9、查看采集的Grains


#查看所有grains键/值
[root@dev32 simon]# salt -L '192.168.180.47 192.168.180.48' grains.items


#查看所有grains项
[root@dev32 simon]# salt -L '192.168.180.47 192.168.180.48' grains.ls

#查看cpu核数
[root@dev32 simon]# salt -L '192.168.180.47 192.168.180.48' grains.item num_cpus
192.168.180.47:
    ----------
    num_cpus:
        4
192.168.180.48:
    ----------
    num_cpus:
        4
[root@dev32 simon]# salt -L '192.168.180.47 192.168.180.48' grains.get num_cpus
192.168.180.47:
    4
192.168.180.48:
    4

二、pillar

Pillar在salt中是非常重要的组成部分,利用它可以完成很强大的功能,它可以指定一些信息到指定的minion上,不像grains一样是分发到所有Minion上的,它保存的数据可以是动态的,Pillar以sls来写的,格式是键值对

适用情景:

  • 比较敏感的数据,比如密码,key等
  • 特殊数据到特定Minion上
  • 动态的内容
  • 其他数据类型
#查看Minion的Pillar信息
[root@dev32 pillar]# salt '*' pillar.items

#查看某个Pillar值
[root@dev32 pillar]# salt '*' pillar.item <key>      #只能看到顶级的
[root@dev32 pillar]# salt '*' pillar.get <key>:<key> #可以取到更小粒度的

编写pillar数据

1.指定pillar_roots,

默认是/srv/pillar

[root@dev32 pillar]# cat /etc/salt/master
...

file_roots:
  base:
    - /opt/salt
pillar_roots:
  base:
    - /opt/salt/pillar 
order_masters: True

file_recv: True 
auto_accept: True
gather_job_timeout: 60
netapi_enable_clients:
  - local
  - local_async
  - local_batch
  - local_subset
  - runner
  - runner_async
  - wheel
  - jobs
default_include: master.d/*.conf

2.编辑pillar数据文件

vim test1.sls
name: ‘salt’
users:
hadoop: 1000
redhat: 2000

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值