自动化运维工具-saltstack-saltstack介绍

saltstack简单介绍

Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中化管理平台,几分钟内便可运行起来,速度够快,服务器之间秒级通讯,扩展性好,很容易批量管理上万台服务器,显著降低人力与运维成本;它具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func;通过部署SaltStack环境,可以在成千上万台服务器上做到批量执行命令,根据不同业务特 性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理 等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。SaltStack 基于Python语言实现,结合轻量级消息队列(ZeroMQ)(SaltStack的通信模 式总共分为2种模式:ZeroMQ、REAT,鉴于REAT目前还不是太稳定,通常会 选择ZeroMQ模式)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。

Saltstack运行模式

  • Local:本地,一台机器玩,不建议
  • Master/Minion:通过server/agent的方式进行管理,效率很高(批量管理1000 台机器,25秒搞定)
  • Salt SSH:通过SSH方式进行管理,效率相对来说比较低(批量管理1000台机 器,83秒搞定)

Saltstack三大功能

  • 远程执行(执行远程命令)
  • 配置管理(状态管理)
  • 云管理

Saltstack特征

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

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之间的通信模式如下
    自动化运维工具-saltstack-saltstack介绍_第2张图片

喜欢的亲可以关注点赞评论哦!以后每天都会更新的哦!本文为小编原创文章;
文章中用到的文件、安装包等可以加小编联系方式获得;
欢迎来交流小编联系方式VX:CXKLittleBrother
进入运维交流群

你可能感兴趣的:(自动化运维工具,运维)