Linux运维知识之自动化运维工具—SaltStack安装部署及简单案例
小标 2019-03-15 来源 : 阅读 931 评论 0

摘要:本文主要向大家介绍了Linux运维知识之自动化运维工具—SaltStack安装部署及简单案例,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之自动化运维工具—SaltStack安装部署及简单案例,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

Linux运维知识之自动化运维工具—SaltStack安装部署及简单案例

SaltStack原理


SaltStack由Master(服务端)和Minion(客户端)组成,Master和Minion之间通过ZeroMQ(消息队列)进行通讯,Master和Minion分别监听4505与4506端口,4505为master与minion认证通信端口,4506为master用来发送或者接受minion的命令执行返回信息。


当客户端启动后,会主动链接master端注册,然后一直保持该TCP连接,而master通过这条TCP连接对客户端进行控制,如果连接断开,master将对客户端不能进行控制,但是,当客户端断开连接后,会定期向master端请求注册。


SaltStack常用模块


与ansible类似,SaltStack提供了很多功能模块,便于对操作系统的基础功能和常用工具操作。


1:pkg模块 :是包管理,包括增删更新。
2:file模块 :管理文件操作,包括同步文件、设置文件权限和所属用户组、删除文件等操作。
3:cmd模块 :是在Minion上执行命令或者脚本。
4:user模块 :管理系统账户操作。
5:service模块 :管理系统服务操作
6:cron模块 :管理cron服务操作


实验环境


SaltStack安装


1、更改主机名关闭防火墙


需要注意的是master与minion端都需关闭SELinux和防火墙,且一定要设置完整的FQDN,域名的形式也要一样,不然在主控端执行远程执行命令或者配置的时候,等待的时间会非常长,甚至还会出现其他不可控的情况。


systemctl stop firewalld.service
setenforce 0


vim /etc/hostname


master.saltstack.com    //(管理)
web01.saltstack.com     //(被管理)


修改每台hosts文件


vim /etc/hosts


192.168.144.112 master.saltstack.com     //所有机器保持一致,保证解析得到的域名可控
192.168.144.111 web01.saltstack.com


重启服务器


2、安装master与minion端


安装master端


yum install epel-release -y
yum install salt-master


安装被控制端


yum install epel-release -y
yum install -y salt-minion


3、master端配置


vim /etc/salt/master


interface: 192.168.144.111    //15行 监听地址改为本地IP
............
auto_accept: True                //215  证书认证
............
file_roots:                          //416行 站点目录开启,注意打开后目录文件是否存在,若不存在需要手动创建
    base:
         - /srv/salt
............
nodegroups:                          //710行 组分类
    group1: 'web01.saltstack.com'
    group2: 'web02.saltstack.com'
............
pillar_opts: True              //552行  pillar开启

pillar_roots:                     //529行
     base:
        - /srv/pillar


过滤空行与#开头行,查看所配置项。


cat /etc/salt/master | grep -v ^$ | grep -v ^#


创建master的站点目录/srv/salt与pillar目录/srv/pillar


mkdir /srv/salt
mkdir /srv/pillar
systemctl start salt-master.service //开启服务
netstat -natp | egrep '4505|4506' //查看4505、4506端口


4、被管理端minnion配置


vim /etc/salt/minion


master: 192.168.144.111     //16行 指定管理端IP
id: web01.saltstack.com      //78行 指定被控的主机名


启动minion


systemctl start salt-minion.service


5、C/S构建完成,验证简单操作


salt '' test.ping //查看通信状态
salt '' cmd.run 'df -h' //查看所有被管理端的挂载情况
salt 'web01.saltstack.com' cmd.run 'df -h' //查看指定主机的挂载情况
salt '' grains.items //查看grains值
salt '' pillar.items //查看pillar(动态信息)
salt-key //查看已经被接受过的客户端


Saltstack批量部署安装Apache


1、创建sls入口文件表示执行Apache模块


vim /srv/salt/top.sls


base:
 '*':        //*号表示对所有主机
     - apache   //对应下面执行文件的名称


2、创建模块执行文件


vim /srv/salt/apache.sls


apache-service:
    pkg.installed:
        - names:
            - httpd
            - httpd-devel
    service.running:
        - name: httpd
        - enable: True


systemctl restart salt-master


在主控端执行刷新state配置命令,让被控制端执行安装apache


salt '*' state.highstate


也可去minion被控制端检测是否安装成功。


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程