saltstack安装

发布时间 2023-06-01 15:54:02作者: netma

saltstack基于python开发的C/S架构配置管理工具

底层使用ZeroMQ消息队列pub/sub方式通信

使用SSL证书签发的方式进行认证管理,传输采用AES加密

在saltstack架构中服务器端叫Master,客户端叫Minion。  

在Master和Minion端都是以守护进程的模式运行,监听配置文件里面定义的ret_port(接受minion请求)和publish_port(发布消息)的端口。

 当Minion运行时会自动连接到配置文件里面定义的Master地址ret_port端口进行连接认证

altstack四大功能,分别是:

  • 远程执行 (批量执行命令)在master上执行命令时,会在所有的minion上执行。
  • 配置管理/状态管理 (描述想到达到的状态,saltstack就会去执行)
  • 云管理(cloud) 用于管理云主机
  • 事件驱动 被动执行的,当达到某个值会自动触发

saltstack可以通过远程执行实现批量管理,并且通过描述状态来达到某些功能的目的。

saltstack四大运行方式:

  • local本地运行 (masterless模式)
  • master/minion传统方式 这是saltstack的主要模式
  • syndic 分布式
  • salt ssh (agentless模式)
Slatstack组件介绍
1)salt master 用于将命令和配置发送到在受管系统上运行的Salt minion
2)Salt Minions 从Salt master接收命令和配置
3)Execution Modules 从命令行针对一个或多个受管系统执行的临时命令。应用场景,例如:1. 实时监控,状态和库存,2. 一次性命令和脚本,3. 部署关键更新
4)Formulas (States) 系统配置的声明性或命令式表示 Grains
5)Grains是有关底层受管系统的静态信息,包括操作系统,内存和许多其他系统属性。
6)Pillar 用户定义的变量。这些安全变量被定义并存储在Salt Master中,然后使用目标“分配”给一个或多个Minion。


 

据了解,saltstack已经被vmvare公司收购,因此是可以去vmvare相关网站下载和配置

安装链接为: Downloads - Salt install guide (saltproject.io)

https://docs.saltproject.io/salt/install-guide/en/latest/topics/downloads.html

 

这个页面是有好多系统的安装介绍,有macos,centos,redhat,suse,debian,ubuntu,windows,pythonos等操作系统和环境,我选择的是CentOS

一、安装准备

  1. 1 检查安装环境Centos7

salt:

  • /bin/bash
  • /bin/sh
  • /usr/bin/env
  • config(salt) = 3005.1-2.el7
  • dmidecode
  • libc.so.6
  • libdl.so.2
  • libpthread.so.0
  • libz.so.1
  • openssl
  • pciutils
  • rpmlib
  • rtld
  • systemd-units
  • which

salt-minon/salt-master/salt-api:

  • /bin/bash
  • /bin/sh
  • config(salt-master) = 3005.1-2.el7
  • rpmlib
  • salt = 3005.1-2.el7

--- Classic

salt:

  • /bin/sh
  • /usr/bin/env
  • /usr/bin/python3
  • config(salt) = 3005.1-1.el7
  • pciutils
  • python(abi) = 3.6
  • python36-PyYAML
  • python36-contextvars
  • python36-distro
  • python36-jinja2
  • python36-jmespath
  • python36-m2crypto >= 0.31.0
  • python36-markupsafe
  • python36-msgpack >= 0.6
  • python36-psutil
  • python36-pycurl
  • python36-requests
  • python36-rpm
  • python36-six
  • python36-zmq >= 18.0.1
  • rpmlib
  • systemd-units
  • which
  • yum-utils

 

  1. 2.  安排端口

     salt-master需要开放两个端口4505,4506,其中4505端口用于消息通信,4506端口用于接受minon的请求

二、 安装软件

  1.    导入GPG以及salt.repo库文件

sudo rpm --import https://repo.saltproject.io/salt/py3/redhat/7/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
curl -fsSL https://repo.saltproject.io/salt/py3/redhat/7/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo

2. 清理库过时库缓存

sudo yum clean expire-cache 

3. 安装 salt-minion, salt-master等软件

sudo yum install salt-master  #管理端
sudo yum install salt-minion  #客户端
sudo yum install salt-ssh   #ssh模式
sudo yum install salt-syndic #分布模式
sudo yum install salt-cloud #云模式
sudo yum install salt-api   #api模式

4. 允许相关服务

sudo systemctl enable salt-master && sudo systemctl start salt-master
sudo systemctl enable salt-minion && sudo systemctl start salt-minion
sudo systemctl enable salt-syndic && sudo systemctl start salt-syndic
sudo systemctl enable salt-api && sudo systemctl start salt-api