自动化运维-Saltstack

梦想的初衷 提交于 2020-01-14 09:19:14

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!