Saltstack-安装和简单部署

SaltSack是什么?

Saltstack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解成简化版的基于puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、pyjinja2、python-msgpack和PyYAML等)构建。

Saltstack具有以下特点:

  • 部署简单、方便
  • 支持大部分UNIX/Linux及Windows环境
  • 主从集中化管理
  • 配置简单、功能强大、扩展性强
  • 主控端(Master)和被控制端(minion)基于证书认证,安全可靠
  • 支持API及自定义模块,可通过Python轻松扩展

Saltstack安装:

主控端IP:192.168.1.10

被控端IP:192.168.1.20

主控端安装:

yum -y install salt-master

开启服务和开机启动:

server salt-master start
chkconfig salt-master on

被控端:

yum -y install salt-minion

开启服务和开机启动:

server salt-minion start
chkconfig salt-minion on

监听端口,默认master开启4505,4506端口

4505(publish_port):salt的消息发布系统

4506(ret_port):salt客户端与服务端通信的端口

要保证这2个端口能通信正常,如果开启iptables需要再主控端添加以下2条规则

iptables -A INPUT -m state --state new -m tcp-p tcp--dport4505 -j ACCEPT
iptables -A INPUT -m state --state new -m tcp-p tcp--dport4506 -j ACCEPT

master主控端配置【/etc/salt/master】:

interface: 192.168.1.20 #绑定Mster通信IP(注意冒号后面必须加一空格)

auto_accept: Ture   #自动认证,避免手动运行salt-key来确认证书信任(注意冒号后面必须加一空格)file_roots:     #指定Saltstack文件根目录位置    
    base:        
        - /srv/salt

重启生效:

service salt-master restart

minion主控端配置【/etc/salt/minion】:

master: 192.168.1.10    #指定master主机IP地址(注意冒号后面必须加一空格)
id: 781915e2    #修改被控端主机识别id,建议使用操作系统主机名配置 (注意冒号后面必须加一空格)

重启生效:

service salt-minion restart

认证有手动和自动2种:

1.手动认证

格式:salt-key 参数 [minion端ID(可以是IP,也可以是主机名) [-y]

-L 列出当前所有认证,包括Accepted Keys、Denied Keys、Unaccepted Keys、Rejected Keys

-a 添加某个或某些个未接受(Unaccepted Keys)认证

-A 添加所有未接受(Unaccepted Keys)认证

-d 删除某个或某些个已接受(Accepted Keys)认证

-D 删除所有已接受(Accepted Keys)认证

-y 使用该参数可免去证书操作的交互,除非对minion端很信任,一般不建议使用

-h 帮助

master端操作:

salt-key -a 781915e2 
The following keys are going to be accepted:  
Unaccepted Keys:  
781915e2 
Proceed? [n/Y] y  
Key for minion 781915e2 accepted.  

salt-key -LAccepted Keys:  #(接受认证的key)
781915e2
Denied Keys:
Unaccepted Keys:    #(没有接受认证的key)
Rejected Keys:

2.自动认证

在master端,/etc/salt/master取消注释:

auto_accept: True   #设置为自动接受

认证过程:

Master 与 Minion 认证

1.minion 在第一次启动时, 会在/etc/salt/pki/minion/ (该路径在/etc/salt/minion 里面

设置) 下自动生成minion.pem(private key)和minion.pub(public key), 然后将minion.pub

发送给 master。

2.master 在接收到minion的public key后, 通过salt-key命令accept minion public key,

这样在 master 的/etc/salt/pki/master/minions 下的将会存放以 minion id 命名的 public

key, 然后 master 就能对 minion 发送指令了。

Master 与 Minion 的连接

Saltstack master 启动后默认监听 4505 和 4506 两个端口。4505(publish_port)为 salt 的

消息发布系统,4506(ret_port)为 salt 客户端与服务端通信的端口。如果使用 lsof 查看

4505 端口,会发现所有的 Minion 在 4505 端口持续保持在 ESTABLISHED

检查是否运行正常(如下说明正常):

salt ‘789880e2‘ test.ping
781915e2 
    True
时间: 2024-10-30 07:17:47

Saltstack-安装和简单部署的相关文章

saltstack安装和简单配置(一)

saltstack 安装和简单配置 在安装前,写了好多废话,都被我删除了,下面就开始搞吧. 环境: master:10.70.36.110 minion:10.70.36.103 一.安装: 现在centos下的yum源内有最新的salt-master源码包,安装的话,直接     yum -y install salt-master   #服务端         yum -y install salt-minion   #客户端 要使用yum安装,必须配置好epel源,可参考:        

saltstack之yum简单部署lnmp

今天使用salt简单部署lnmp 部署环境: node23.com 192.168.0.23 master/minion 部署nginx和phpnode24.com 192.168.0.24 minion 部署mysql 首先看一下结构目录: # tree . ├── dev │ ├── files │ │ ├── httpd.conf │ │ └── my.cnf │ └── lamp.sls ├── mysql │ ├── my.cnf │ └── mysql_installed.sls ├

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

SaltStack原理 SaltStack由Master(服务端)和Minion(客户端)组成,Master和Minion之间通过ZeroMQ(消息队列)进行通讯,Master和Minion分别监听4505与4506端口,4505为master与minion认证通信端口,4506为master用来发送或者接受minion的命令执行返回信息. 当客户端启动后,会主动链接master端注册,然后一直保持该TCP连接,而master通过这条TCP连接对客户端进行控制,如果连接断开,master将对客户

saltstack安装部署与入门使用

一.saltstack简介 SaltStack 一种基于 C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion.SaltStack 具备配置管理.远程执行.监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func.SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ 与 Python 第三方模块(Pyzmq.PyCrypto.Pyjinjia2.python-msgpack 和 PyYAML

Saltstack 安装配置 及 简单操作示例

Saltstack 介绍 通过部署 Saltstack环境,可以在成千上万台服务器上批量执行命令.对于不同的业务进行集中管理.分发文件.采集数据.软件包管理等,有利于运维人员提高工作效率,规范业务配置和操作. Saltstack由 Master和 Minion构成, Master是服务端,表示一台服务器; Minion是客户服务端,表示多台服务器.在 Master上发送命令给符合条件的 Minion, Minion就会执行相应的命令, Master和 Minion之间是通过 Zeromq(消息队

saltstack 安装部署

官方源:https://repo.saltstack.com/yum/redhat/    saltstack yum源 系统环境 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) Saltstack安装版本 # salt -V Salt Version: Salt: 2017.7.2 Dependency Versions: cffi: 0.8.6 cherrypy: Not Installed dateutil: 1

saltstack入门之一:saltstack安装

一.salt简介 saltstack是一个基于C/S架构的集中化管理平台,具备配置管理.远程执行.监控等功能.使用saltstack可以一键批量部署服务.远程执行命令,在大规模的服务集群中大大提高了运维人员的工作效率. saltstack基于python语言开发,使用轻量级消息队列(ZeroMQ)pub/sub进行通信. minion在首次时,会在/etc/salt/pki/minion/(该路径可在/etc/salt/minion中设置)下自动生成minion.pem(私钥)和minion.p

centos系统安装saltstack安装

CentOS 5系统安装saltstack安装 最近公司有一些新需求,需要部署一些saltstack来管理部分服务器.所以最近研究了一下saltstack的安装和部署. 说实话,如果你用的是CentOS 6以上的系统的话那就不用看我这篇文章了,因为6的系统上可以直接使用epel软件源,用yum的方式来安装,只要在服务端装个salt-master,在被管理节点装个salt-minion就OK了,安装简直不能再方便了. 但是,如果要是这么简单就处理了这个问题的话我也就不用写这篇文章了,毕竟理想总是不

saltstack 安装配置详解

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与python第三方模块(Pyzmq.PyCrypto.Pyjinjia2.python-msgpack和PyYAML等)构建. 通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理.分发文件.采集服务器数据.操作系统

SaltStack安装,添加主机,基本命令

为什么选择SaltStack: 可管理主机种类多样化,如Windows,Linux 使用Python开发,对于了解Python用户进行二次开发简单 部署方便(相对于Ansible复杂,但客户端安装部署相对非常简单了) 扩展性强 并处理能力强 强大的模块功能,具有很多已有模块可以处理日常自动化运维与复杂自动化运维 官文文档,以及社区文档丰富 强大的API功能 前言: 自动化运维的前提首先是标准化,如果对服务器部署,系统应用部署,系统管理没有一定的标准来支撑那么不管使用任何的自动化运维工具都是无法实