一、SaltStack 原理:

1、SaltStack 也是基于CS模式的主控master和client被控端 minion 结构;也是一个异构平台基础设置管理工具;遵守Apache2协议,完全开源。

2、通过ZeroMQ消息队列通信、用Python写成的批量管理工具,远程执行命令。

3、Minion上线后先与Master端联系,把自己的pub key发过去,这时master端通过salt-key -L命令就会看到minion的key,接受该minion-key后,也就是master与minion已经互信。

4、允许一个管理者Master对多个系统minion的统一管理操作。

二、SaltStack 监听端口:

SaltStack master 启动后默认监听4505和4506两个端口。

1、4505(publish_port)为 saltstack 的消息发布系统,对应的是ZMQ的PUB system;

2、4506(ret_port)为 saltstack 被控端与服务端通信的端口。

三、SaltStack 认证原理:

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发送指令了。

当/etc/salt/master没有配置auto_accept: True时,需要通过salt-key命令来进行证书认证操作
salt-key -L 显示已认证或未认证的被控端id
salt-key -D 删除所有认证主机id证书
salt-key -d id 删除单个id证书
salt-key -A 接受所有id证书
salt-key -a id 接受单个id证书
salt-key -j id 拒绝单个id证书
salt-key –J 拒绝所有id证书

四、工作机制

SaltStack 通信模式是使用的ZeroMQ;

Master下发任务匹配到的Minion上去,Minion执行模块函数,并返回执行结果。

salt的核心功能:
使用命令 发送到远程系统上是并行,而不是串行
使用安全加密协议
使用最少最快的网络载荷
提供简单的编辑接口

SaltStack 理解的更多相关文章

  1. SaltStack入门篇(四)之深入理解SaltStack远程执行

    1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.sa ...

  2. Saltstack

    一.Satlstack的概述 Saltstack是什么? Salt是一种和以往不同的基础设施管理方法,它是建立在大规模系统高速通讯能力可以大幅提升的想法上.这种方法使得Salt成为一个强大的能够解决基 ...

  3. Saltstack 介绍、安装、配置(一)

    Slatstack 介绍 官网:https://saltstack.com/ 官方源:http://repo.saltstack.com/  (介绍各操作系统安装方法) http://repo.sal ...

  4. 部署搭建 Saltstack(centos6.6)

    SaltStack介绍 官网:https://docs.saltstack.com/en/latest/ 中国saltstack用户组http://www.saltstack.cn/ 下图是它的子系统 ...

  5. 1.saltstack基础笔记

    环境: master: 节点node1:阿里云:121.42.195.15 centos6.6 minion: 节点node2:腾讯云:182.254.157.19 centos6.6 一.salts ...

  6. saltstack实战4--综合练习3

    Saltstack配置管理-业务引用haproxy 在业务模块里写它的配置 各个业务是不同的,这里有差异性,所以没写在配置模块里. 对minion02也执行安装haproxy [root@master ...

  7. saltstack实战4--综合练习4

    Saltstack配置管理-给minion增加Zabbix-agent zabbix-agent的包 [root@A ~]# rpm -qa |grep zabbix zabbix-2.4.8-1.e ...

  8. saltstack实战4--综合练习2

    Saltstack配置管理-功能模块-安装haproxy 配置管理,我们分了3层 最底层是系统初始化部分 倒数二层是功能模块,就是具体的产品的安装了 假如你的环境需要nginx,php,memcach ...

  9. saltstack实战2--远程执行之返回(returner)

    saltstack有3大功能:远程执行,配置管理,云管理 其中远程执行又可分解为:目标,模块,返回  这3个部分. 比如下面语句 [root@master ~]# salt '*' test.ping ...

随机推荐

  1. 在Vue框架中使用百度地图

    1.首先在index.html中引入百度地图 <script type="text/javascript" src="http://api.map.baidu.co ...

  2. JavaScript深入之变量对象

    前言 在上篇<javascript深入之执行上下文栈>中讲到,当javascript代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution ...

  3. struts2 UI标签 和 主题

    四.Struts2的UI标签和主题 1.Struts2中UI标签的优势 自动的数据回显和错误提示功能 自带的简单样式和排版 2.表单标签的通用属性 说明:UI标签中value的取值一般都是字符串. 2 ...

  4. vue proxyTable 接口跨域请求调试

    在不同域之间访问是比较常见,在本地调试访问远程服务器....这就是有域问题. VUE解决通过proxyTable: 在 config/index.js 配置文件中 dev: { env: requir ...

  5. Qt ------ 添加某个功能,比如(QSerialPort)注意事项

    添加某个功能,比如(QSerialPort),不仅需要保护头文件 还需要在.pro文件内添加 QT += serialport

  6. JavaSE_坚持读源码_HashMap对象_get_Java1.7

    当你从HashMap里面get时,你其实在干什么? /** * Returns the value to which the specified key is mapped, * or {@code ...

  7. ansbile Tags && Block

    Tags 官网示例:https://docs.ansible.com/ansible/2.6/user_guide/playbooks_tags.html 编写执行playbook的时候,每次修改完y ...

  8. Ansible Callback

    非api模式下自定义callback ansible.cfg中开启callback功能 callback_plugins = /usr/share/ansible/plugins/callback # ...

  9. Hadoop记录-Hadoop监控指标汇总

    系统参数监控metrics load_one            每分钟的系统平均负载 load_fifteen        每15分钟的系统平均负载 load_five           每5 ...

  10. JAVA-try-catch-finally-自定义异常例子(适合初学者)

    package com.net.xinfang.reflect; import java.io.IOException; import java.util.Scanner; /*** * 运行try块 ...