saltstack安装管理,批量部署apache

  

简介

  

盐是一个基础平台管理工具,基于python语言开发.SaltStack采用C/S模式,服务器端就是盐的主人,客户端就是奴才,奴才与主之间通过ZeroMQ消息队列通信部分监听4505年和4506年端口,4505为大师和奴才认证通信端口,4506为大师用来发送命令或者接收奴才的命令执行返回信息。

  

saltstack介绍:

  

<强> 1,轻量级管理工具,批量执行命令;

  

<强> 2,常用模板:

  

包裹:包,有增删更新。
文件:用于管理文件,包括同步文件,设置文件权限和所属用户组,删除文件等操作,
cmd:在宠物上执行命令或者脚本;
用户:管理系统账户操作,
服务:管理系统服务操作,
cron:管理crontab任务
<强> 3,saltstack数据系统:

  

谷物(静态数据);
支柱(动态数据);
<强> 4,三大功能:
(1)远程执行
(2)配置管理
(3)云管理

  

重要组件:

  

<强>(1)谷物:

  

颗粒是在奴才(客户端)启动时收集到的一些信息,比如操作系统类型,网卡ip等静态信息。
谷物的信息并不是动态的,并不会时时变更,它只是在奴才启动时收集到的。
<强>(2)支柱:

  

支柱和谷物不一样,是在掌握上定义的,并且是针对奴才定义的一些信息。像一些比较重要的数据(密码)可以存在柱子里,还可以定义变量等。
<强>(3)状态:

  

是saltstack的最核心的功能,通过预先指定好的sls文件对被控主机进行管理(包括:包,网络配置,系统服务,系统用户等)

  

工作原理:

  

<强> SaltStack客户端(宠物)在启动时,会自动生成一套密钥,包含私钥和公之钥。后将公钥发送给服务器端,服务器端验证并接受公钥,以此来建立可靠且加密的通信连接。同时通过消息队列ZeroMQ在客户端与服务端之间建立消息发布连接。
 SaltStack安装管理,批量部署apache

  

1,奴才是SaltStack需要管理的客户端安装组件,会主动去连接主端,并从主端得到资源状态信息,同步资源管理信息。
2,主作为控制中心运行在主机服务器上,负责盐命令运行和资源状态的管理,掌握上执行某条指令通过队列下发到各个奴才去执行,并返回结果。
3, ZeroMQ是一款开源的消息队列软件,用于在奴才端与主端建立系统通信桥梁。

  

与ansible区别:

  

1,管理配置讲究的是更快更稳
ansible基于SSH协议传输数据;Saltstack使用消息队列zeroMQ传输数据,速度更快,是SSH的40倍。
2, ansible安装部署过程特别简单,Saltstack要部署奴才端较为不便。

  

实操,批量安装Apache服务

  

 saltstack安装管理,批量部署apache”> <br/> <强> 1,修改主机名</强> </p>
  <pre> <代码>修改主机名:
  (root@localhost ~) # hostnamectl set-hostname master.saltstack.com
  (root@localhost ~) # hostnamectl set-hostname web01.saltstack.com
  (root@localhost ~) # hostnamectl set-hostname web02.saltstack.com
  
  文的/etc/hosts修改件(用scp远程复制,三台主机都一样):
  vim/etc/hosts
  192.168.220.131 master.saltstack.com
  192.168.220.140 web01.saltstack.com
  192.168.220.136 web02.saltstack.com
  
  关闭防火墙:
  systemctl停止firewalld.service
  setenforce 0
  
  分别为三台主机添加epel源:
  yum安装- y epel-release </代码> </pre>
  <p> <强> 2,安装saltstack: </强> </p>
  <pre> <代码> 1,主人上安装:
  yum安装- y salt-master
  
  2、被管理端(宠物)上安装:
  yum安装- y salt-minion </代码> </pre>
  <p> 3,配置主主机:</p>
  <pre> <代码> vim/etc/salt/master
  
  接口:192.168.220.131//修改监听地址(主的地址)
  auto_accept:真//修改为真的,避免要运行salt-key来确定证书认证
  
  file_roots://开启saltstack文件根目录位置,此目录需要自己创建
  基础:
  ——/电脑/盐
  
  节点组://开启,设置组分类
  group1:“web01.saltstack.com”
  group2:“web02.saltstack.com”
  
  pillar_opts:真//开启柱功能,同步文件功能
  
  pillar_roots://开启柱主目录,这个也需要自己创建
  基础:
  ——/电脑/支柱</代码> </pre>
  <p> <img src=saltstack安装管理,批量部署apache