# salt -G 'os:SUSE' test.ping node001.example.com: True node002.example.com: True node003.example.com: True node004.example.com: True admin.example.com: True
获取 Pillar ,然后指定pillar方式
# salt 'admin*' pillar.items
admin.example.com:
----------
available_roles:
- storage
- admin
- mon
- mds
- mgr
.....
roles:
- master
- admin
- prometheus
- grafana
time_server:
admin.example.com
# salt -I 'roles:grafana' test.ping
admin.example.com:
True
3、模块详解
1000+ 的模块,目前在不断增加中 , saltstack模块链接
admin:~ # salt 'node001*' network.arp node001.example.com: ---------- 00:0c:29:33:70:2d: 192.168.2.42 00:0c:29:33:70:37: 192.168.3.42 00:0c:29:ae:44:51: 172.200.50.39 00:0c:29:ae:44:5b: 192.168.2.39 00:0c:29:d3:ba:15: 192.168.2.41 00:0c:29:d3:ba:1f: 192.168.3.41 00:0c:29:e0:5c:8c: 192.168.2.43 00:0c:29:e0:5c:96: 192.168.3.43
admin:~ # salt 'node001*' network.interface eth1 node001.example.com: |_ ---------- address: 192.168.2.40 broadcast: 192.168.2.255 label: eth1 netmask: 255.255.255.0
三、配置和自定义 policy.cfg 文件/srv/pillar/ceph/proposals/policy.cfg 配置文件用于确定单个群集节点的角色。例如,哪个节点充当 OSD,或哪个节点充当监视器节点。请编辑 policy.cfg ,以反映所需的群集设置。段落采用任意顺序,但所包含行的内容将重写前面行的内容中匹配的密钥。
1、policy.cfg 的模板
可以在 /usr/share/doc/packages/deepsea/examples/ 目录中找到完整策略文件的多个示例。
一般我们选择基于角色定义的模板
# ll /usr/share/doc/packages/deepsea/examples/ total 12 -rw-r--r-- 1 root root 329 Aug 9 16:00 policy.cfg-generic -rw-r--r-- 1 root root 489 Aug 9 16:00 policy.cfg-regex -rw-r--r-- 1 root root 577 Aug 9 16:00 policy.cfg-rolebased
2、群集指派
要包含所有受控端,请添加以下几行:
cluster-ceph/cluster/*.sls
要将特定的受控端加入白名单,请运行以下命令:
cluster-ceph/cluster/abc.domain.sls
要将一组受控端加入白名单,可以使用通配符:
cluster-ceph/cluster/mon*.sls
要将受控端加入黑名单,可将其设置为 unassigned :
cluster-unassigned/cluster/client*.sls
3、policy.cfg 示例
下面是一个基本 policy.cfg 文件的示例: