深入理解 DeepSea 和 Salt 部署工具(2)

# 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 文件的示例:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8395943d0748ddebff321de66210403b.html