编程之家收集整理的这篇文章主要介绍了saltstack之自动化运维,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统。
早期运维人员会根据自己的生产环境来写特定脚本完成大量重复性工作,这些脚本复杂且难以维护。系统管理员面临的问题主要是1、系统配置管理,2、远程执行命令,因此诞生了很多开源软件,系统维护方面有fabric、puppet、chef、ansible、saltstack等,这些软件擅长维护系统状态或方便的对大量主机进行批量的命令执行。
salt灵活性强大,可以进行大规模部署,也能进行小规模的系统部署。salt的设计架构适用于任意数量的服务器,从少量本地网络系统到跨越数个数据中心,拓扑架构都是c/s模型,配置简单。
不管是几台、几百台、几千台服务器,都可以使用salt在一个中心节点上进行管控,灵活定位任意服务器子集来运行命令。
Salt是python编写的,支持用户通过python自定义功能模块,也提供了大量的python API接口,用户可以根据需要进行简单快速的扩展。
在安装salt之前,先理解salt架构中各个角色,主要区分是salt-master和salt-minion,顾名思义master是中心控制系统,minion是被管理的客户端。
salt架构中的一种就是master > minion。
<span style="color: #008000;">#<span style="color: #008000;"> 关闭selinux
注意:salt软件包需要epel源的支持, 如果没有安装epel源 <>有教程
在 192.168.178.131 中安装salt-master
另一台安装salt-minion
安装好salt之后开始配置,salt-master默认监听两个端口:
写入salt-master配置文件如下:
写入sale-master配置文件如下:
====================================
<span style="color: #008000;">#
<span style="color: #008000;"> 192.168.178.132注意:如果启动报错,查看是否有 /var/log/salt/ 这个文件
在minion启动后连接master会请求master为其签发证书,等待证书签发完成后,master可以信任minion,并且minion和master之间的通信是加密的。
在salt-master执行
salt-key命令用于管理mionion秘钥
此时slave已经出现在unaccepted keys中,说明minion已经和master联系,并且master已经获取了minion的公钥,等待下一步指令。
在master上执行:
然后在minion上获取密钥:
此时可确认密钥匹配,在master上接收密钥
确认接收秘钥后,检验minion秘钥是否被接收
好了,配置完成,可以执行命令了。
只有master接收了minion key后才能进行管理。
<span style="color: #008000;">#
<span style="color: #008000;">常用参数<span style="color: #008000;">#<span style="color: #008000;"> 在master端/etc/salt/master配置
auto_accept: True <span style="color: #008000;">#<span style="color: #008000;"> 如果对Minion信任,可以配置master自动接受请求
常用命令参数:
salt命令:
<span style="color: #000000;">
[root@master ~]$salt <span style="color: #800000;">'<span style="color: #800000;">*<span style="color: #800000;">' test.fib 50 <span style="color: #008000;">#<span style="color: #008000;"> 生成斐波那契数列
[root@master ~]$salt <span style="color: #800000;">'<span style="color: #800000;">slave<span style="color: #800000;">' sys.list_modules <span style="color: #008000;">#<span style="color: #008000;"> 列出所有salt的sys模块
cmd运行命令:
pkg安装命令:
service管理服务模块:
--out 控制salt命令结果输出的格式:
以上是编程之家为你收集整理的saltstack之自动化运维全部内容,希望文章能够帮你解决saltstack之自动化运维所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478