Saltstack
3中运行模式:
1、本地 Local
2、Master/Minion 传统模式
3、Salt SSH
3大功能:
远程执行
配置管理
云管理
先把环境装上(我们用两台机器来搞,一台有两个角色,一个服务器端,一个客户端,另外一台直接客户端):
yum -y install salt-master salt-minion -y
[root@base-server yum.repos.d]# yum -y install salt-master salt-minion -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.cqu.edu.cn
* extras: mirrors.cqu.edu.cn
* updates: mirrors.cqu.edu.cn
Setting up Install Process
No package salt-master available.
No package salt-minion available.
解决方法:
cd /usr/local/src/
wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
然后再执行开始的安装命令。
装完客户端要修改配置:vim /etc/salt/minion
master ”服务器端的ip或者域名”
重启客户端:service salt-minion start
然后就是认证:
在服务器端执行:
salt-key -A :表示将所有认证过来的客户端的key都接受
安装完成以后检测一下是否成功:
salt '*' test.ping
说明saltstack服务器端能和2个客户端正常通信
命令'*'代表的是在服务器上认证的客户端
test.ping代表的是test模块下的ping函数
现在最简单的配置已经完成,可以远程执行命令了,查看内存。就像ansible一样的。如:
salt '*' cmd.run 'free -m'
第二个用法:
用sls文件来同步状态。打开服务器的配置,/etc/salt/master
找到file_roots
去掉注释,没有的话自己添加
退出保存以后,重启服务端。
然后到刚刚的base目录/srv/salt下面去,没有这个目录的话手动创建
新建一个文件,apache.sls。这里我们实现的功能就是同步所有客户端上的httpd服务全都启动。
添加如下内容,尤其要注意空格,否则会编译失败:
添加完成以后,执行如下命令
salt '*' state.sls apache
说明执行没有报错,验证一下httpd服务器是否已经启动
service httpd status
来源:https://www.cnblogs.com/tangqiwen/p/8435476.html