saltstack syndic使用测试
<p>今天没事跟同事把saltstack的syndic实验了一把 准备把心得啥的 记录下 其实现在不适合讲syndic 因为saltstack的其他东西我还没搞清楚 大家都知道saltstack传统的架构都是 c/s 一个master管一堆minion的形式 syndic架构多了一层类似代理的东西 我下面去画个图 贴上来吧 稍等下</p><p><img src="https://zhuji.jb51.net/uploads/img/20230519/148634c74a1fb2c170ab4f924cd72a4b.jpg" width="557" height="377"></p>
<p>擦 真的不会画图 就先这样吧 syndic 相当于zabbix 的代理(如果没玩过zabbix的 那你理解成 一个老板带了几个主管 你就是主管下的小弟)</p>
<p>老板就是中心master 最牛掰的</p>
<p>主管就是 syndic节点 (可以是多个)一般不干事情 只负责分配任务 你懂的(意思就是他一般不跑minion服务)</p>
<p>小弟就是minion节点(很多)</p>
<p>现在大概讲下流程吧 因为架构这个东西 必须得把运行原理搞懂 不然你懂太多细节 那也没啥用</p>
<p>老板可以发布一下任务 给一个或者多个主管 让他们干啥(其实他也是让下面小弟去干 但是他得有计划 有方向(top.sls 和 state 等等)) 也可以直接让公司某个小弟 或者某些小弟干啥 (虽然中心master无法看到 minion的key 但是他可以直接 指定minion的id 去干事)</p>
<p>这个原理的东西 比较绕 不知道你们搞懂没</p>
<p>下面我拿一个例子讲吧</p>
<p>中心master CMN-NJ-H-3g1(matser )</p>
<p>syndic CMN-NC-3-3M1 (mastter syndic)</p>
<p>minion CMN-NC-3-3O1 CMN-NC-3-O3 CMN-NC-3-3O6</p>
<p>架构没问题吧 这里跟大家说下 以前的架构</p>
<p>CMN-NC-3M1 是CMN-NC-3-3O1 CMN-NC-3-3O2 CMN-NC-3-3O6的master</p>
<p>现在开始配置吧</p>
<p>先配置中心master 吧 修改主配置文件 vim /etc/salt/master</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/73b5b21d74147e59649b8928f0723c6c.jpg" width="261" height="76"></p>
<p>重启master服务 你懂的</p>
<p>然后修改syndic 的master配置文件 vim /etc/salt/master ip地址指向中心master地址</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/34d5fca82d05898891d716ac69758961.jpg" width="382" height="86"></p>
<p>重启master 服务 你懂的</p>
<p>启动syndic 服务 /etc/init.d/salt-syndic start</p>
<p>ok 配置就这样配置完了</p>
<p>下面去中心master上salt-key 看下 应该有 syndic 的key</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/9754a0997cbd5bfddd458496885f3a9f.jpg" width="347" height="73"></p>
<p>OK 没问题</p>
<p>我们再到syndic上去看下 他下面的minion (以前的环境就是这样的 你懂的)</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/dd1fae262dcfc286524b02d3c236767f.jpg" width="327" height="374"></p>
<p>其他的就别看了 哈哈。。。</p>
<p>没问题吧 环境也搭建好了 我们开始试验吧 得想想咋样测试的</p>
<p>大家都知道 我在CMN-NC-3-3M1 上管理 CMN-NC-3O* 的这几台设备很简单 (传统的c/s 架构呀) 这里就不多讲了 这次主要讲的操作都在 中心master上面 你懂的</p>
<p>虽然中心master看不到 minion的key 但是还是可以直接 知道minion id干活的 我们先来试试这个吧 (以下所有操作在中心master上面)</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/617e5030fbd39bb71e94d57d19d2fb47.jpg" width="535" height="224"></p>
<p>ok 没问题 是吧 下面我建个组吧</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/ab5330fa0e5fdd5a6014ca1f327b845e.jpg" width="408" height="63"></p>
<p> </p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/059cb4696c002cd21ccb4eba33ffa46e.jpg" width="474" height="110"></p>
<p>其实玩法跟 c/s 架构一样 先演示这么多吧 其他的自己去弄吧</p>
<p>下面讲讲关于state 的配置 这里就有个问题 中心master上 有 top.sls state 资源管理 功能 syndic上也有top.sls state 资源管理功能 这个时候 大家一定会问 这个是不是有冲突 其实是没有的</p>
<p>你在中心master上top.sls 是不能直接指定 minion 的id 做一些资源管理的 (这个一定的了解清楚 )</p>
<p>我给一个例子吧 大家看看我的中心master的top.sls 配置</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/742d4c72ffd433466cee7ded8802f7b6.jpg" width="483" height="208"></p>
<p>我是针对CMN-NC-3-3O1 (CMN-NC-3-3M1 的minion) 做一个文件的同步</p>
<p>你看看我运行的结果</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/b157f100ce24cb670cedf4e71b531493.jpg" width="627" height="461"></p>
<p>发现没 这个结果 有问题 怎么是服务管理的东西呀 原因是这样的 你执行salt ‘CMN-NC-3-3O1′ state.highstate 其实他是把任务发送给syndic节点</p>
<p>syndic 节点然后去匹配自己的top.sls 自己的state 去做资源管理 我下面贴下 我在CMN-NC-3-3M1 syndic 上的top.sls 配置吧</p>
<p><img src="https://zhuji.jb51.net/uploads/img/20230519/7120cfcb37f9ab523601d20f9d505228.jpg" width="500" height="397"></p>
<p>知道了吧</p>
<p>有点绕 现在总结下 吧</p>
<p>在中心master上做资源管理 state (pillar grains module 这些下次我测试看下 理论上应该跟state一样 理论而已 哈哈) 是不能直接在top.sls 下指定minon id的 但是可以 直接管理minon 记住一点就就行 中心master 的top.sls 不能指定minon 的id 但是可以直接管理minon 让他去他的master干啥(分组是可以的)</p>
<p>先写这么多吧 饿了 先吃饭了</p>
<p>转自:http://www.shencan.net/index.php/2013/06/19/saltstack%E5%9B%9B-syndic/</p>
頁:
[1]