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发布任务的一个组件
相关文章
相关标签/搜索