浅谈saltstack

Posted 终点即起点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈saltstack相关的知识,希望对你有一定的参考价值。

saltstack简介

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

saltstack特性

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

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的连接

(1)、SaltStack master启动后默认监听4505和4506两个端口。4505(publish_port)为saltstack的消息发布系 统,4506(ret_port)为saltstack客户端与服务端通信的端口。如果使用lsof 查看4505端口,会发现所有的 minion在4505端口持续保持在ESTABLISHED状态。

(2)、minion与master之间的通信模式如下:

本次测试环境

10.10.36.104  master CentOS 6.7
10.10.36.103  minion CentOS 6.7
10.10.36.102  minion CentOS 6.7

rpm包下载地址:   

 https://repo.saltstack.com/yum/rhel6/

Version 7:

rpm --import https://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub

Version 6:

rpm --import https://repo.saltstack.com/yum/redhat/6/x86_64/latest/SALTSTACK-GPG-KEY.pub

# 配置yum源

Version 7 and 6:
vim /etc/yum.repos.d/saltstack.repo
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub

# 清除过期的缓存

sudo yum clean expire-cache

# 升级yum

sudo yum -y update

# 安装 salt-minion, salt-master, or other Salt components:

yum -y install salt-master
yum -y install salt-minion
yum -y install salt-ssh
yum -y install salt-syndic
yum -y install salt-cloud

# 配置master:

# 配置master开机自动启动:
chkconfig salt-master on

# 启动Master:
service salt-master start

# 编辑master配置文件 
vim /etc/salt/master

# 绑定本地接口
interface: 10.10.36.104

auto_accept: True

# 配置Minion

# 配置Minion开机自动启动:
chkconfig salt-minion on

# 启动Minion:
service salt-minion start

# 编辑Minion配置文件
vim /etc/salt/minion

# 指定master地址
master: 10.10.36.104

# 该minion的ID
id: minion-10-10-36-104

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于浅谈saltstack的主要内容,如果未能解决你的问题,请参考以下文章

浅谈AngularJS中的$parse和$eval

saltstack参数解析及代码分享

saltstack+git+rsync发布代码

首发分析 | SaltStack远程执行代码多个高危漏洞透析(CVE-2021-25281/25282/25283)

从内部入手,浅谈malloc和new的区别

Python操作Saltstack