SaltStack 01-SaltStack简介

官方网站:http://repo.saltstack.com/

SaltStack简介

  • SaltStack是基于Python开发的一套C/S架构配置管理工具
  • 底层使用ZeroMQ消息队列pub/sub方式通信
  • 采用RSA Key方式确认身份,传输采用AES加密
  • 采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等
  • 在Master和Minion端都是以守护进程的模式运行
  • 一直监听配置文件中定义的ret_port-4506(接收minion请求)和publish_port-4505(发布消息)端口

多种配置管理工具对比

  • Puppet(rubby开发,现在很少使用)
  • ansible(python开发,轻量级,没有agent,大规模环境下使用ssh会很慢,串行传输)
  • Saltstack(python开发,远程执行、配置管理、事件驱动基础设施、使用saltcloud可以管理私有云和公有云)

三大功能

  • 运程执行
  • 配置管理(状态)
  • 云管理

四种运行方式

  • Local
  • Minion/Master C/S
  • Syndic - zabbix proxy
  • Salt SSH

SaltStack软件依赖

  • Python版本大于2.6或小于3.0
  • msgpack-python:SaltStack消息交换库
  • YAML:SaltStack配置解析定义语法
  • Jinja2:SaltStack states 配置模板
  • MarkupSafe:Python Unicode 转换库
  • apache-libcloud:SaltStack对云架构编排库
  • Requests:HTTP Python库
  • ZeroMQ:SaltStack消息系统
  • pyzmq:ZeroMQ Python库
  • PyCrypto:Python 密码库
  • M2Crypto:Openssl Python 包装库

SaltStack主要组件

  • Target:管理对象,通过管理和正则匹配Minion的ID来做一些集合
  • Grains:saltStack记录Minion的一些静态信息的组件
  • Pillar:存储和定义配置管理中需要的一些数据
  • Module:管理对象操作
  • States:saltStack中的配置语言
  • Return:-SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序
  • Job:saltStack在执行任何一个操作都会在Master上产生一个jid号,内容就是此次操作的记录
  • Event:SaltStack里面的对每个事件的一个记录
  • Reactor:基于Event的每个事件来做相应的操作(states)
  • Mine:SaltStack收集Minion数据存储到master的一个组件
  • Peer:SaltStack中Minion向Master发布任务的一个组件
原文地址:https://www.cnblogs.com/liangjingfu/p/9492305.html