saltstack来敲门 |
使用saltstack自带的rpo源安装saltstack
saltstack也有api。可以和运维平台组合起来;
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm yum install salt-master yum install salt-minion 修改配置文件 [root@salt-matser salt]# grep ^master /etc/salt/minion master: 10.108.15.204 systemctl restart salt-minion systemctl restart salt-master systemctl enable salt-minion systemctl enable salt-master
[root@salt-matser pki]# cat /etc/salt/minion_id
salt-matse
salt根据minion_id 进行资源的编排
认证: salt-key -A #添加全部未认证的keys |
salt的正则使用的---》讲究主机名的设计 dns的域名解析不能解析下划线可以解析横线。 eg: [root@salt-matser pki]# salt '*' test.ping salt-matser: True zabbix: True eg: salt 'salt*' cmd.run 'cd /tmp;wget http://10.108.15.43/PKG.tar' |
yaml语法三板斧没学好的时刻就是噩梦开始的地方
刚开始的时候master的配置文件除了打击你的积极性之外没有任何作用
vim /etc/salt/master #打开下面的注释 file_roots: base: - /srv/salt mkdir -p /srv/salt/web #配置文件目录的创建 重启master [root@salt-matser salt]# cat /srv/salt/web/apache.sls apache-install: pkg.installed: - names: - httpd - httpd-devel apache-service: service.running: - name: httpd - enable: True - reload: True |
输出如下:
[root@salt-matser salt]# salt '*' state.sls web.apache salt-matser: ---------- ID: apache-install #apache.sls中的ID Function: pkg.installed #方法是调用pkg.installed Name: httpd Result: True Comment: All specified packages are already installed Started: 20:14:01.204544 Duration: 1878.253 ms Changes: ---------- ID: apache-install Function: pkg.installed Name: httpd-devel Result: True Comment: The following packages were installed/updated: httpd-devel Started: 20:14:03.083152 Duration: 11834.305 ms Changes: #由于已经安装了apache所以对apache进行更新 ---------- apr-devel: ---------- new: 1.4.8-3.el7_4.1 old: apr-util-devel: ---------- new: 1.5.2-6.el7 old: cyrus-sasl: ---------- #统计执行的结果 Summary for salt-matser ------------ Succeeded: 3 (changed=1) Failed: 0 |
base: 'salt*': #指定主机名中带有salt的主机 - web.apache #执行web.apache的方法 [root@salt-matser salt]# cat top.sls base: 'salt*': - web.apache [root@salt-matser salt]# salt '*' state.highstate [root@salt-matser salt]# salt '*' state.highstate test=ture #先测试和sed -i一样的道理且尽量不要使用'*' |
自此以后我们后续所有的安装部署都是saltstack来写的。运维过上了幸福快乐的日子。使用salt做配置管理就要始终以saltstack为准