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

文章目录

[隐藏]

  • SaltStack原理
  • SaltStack常用模块
  • 实验环境
  • SaltStack安装
    • 1、更改主机名关闭防火墙
    • 2、安装master与minion端
    • 3、master端配置
    • 4、被管理端minnion配置
    • 5、C/S构建完成,验证简单操作
  • Saltstack批量部署安装Apache
    • 1、创建sls入口文件表示执行Apache模块
    • 2、创建模块执行文件
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被控制端检测是否安装成功。

原文出处:51cto -> http://blog.51cto.com/13659253/2155408

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。