dW 编辑推荐:自动化运维工具 SaltStack 在云计算环境中的实践

Posted developerWorks中国

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dW 编辑推荐:自动化运维工具 SaltStack 在云计算环境中的实践相关的知识,希望对你有一定的参考价值。

随着云计算技术的快速普及与发展,越来越多的企业开始学习和搭建自己的云平台代替传统的 IT 交付模式,企业的 IT环境也随之越来越复杂,常规的运维方法与技术已经无法满足现在云环境中系统的配置与变更。基于云计算的发展,大数据、认知技术及容器技术也在企业中得到了 越来越多的应用,大量的服务器管理操作、配置变更被频繁的执行与部署,以应对多变的业务需求。按照常规的方式,运维人员需逐个服务器进行配置调整,手动管 理大量的系统信息,难免有各种各样的问题及事故发生。为了避免这样的风险,本文的示例中,笔者将详细介绍如何使用开源软件        SaltStack 自动化运维工具对云环境中的服务器进行命令的远程执行及配置管理,确保操作的安全性及高效性,降低管理员的操作风险。


本文中介绍的架构,主要是在 CentOS6.5 上进行集中部署与测试。该架构主要涉及到三 个开源软件,分别是 Python 软件集,SaltStack 软件集和 ZeroMQ消息队列软件。


  • 在部署 SaltStack 软件之前,一定要先正确安装 python,因为 SaltStack由 python 所编写。不同版本的 SaltStack 需要使用不同版本的Python进行匹配,避免不必要的兼容性问题发生,本文将采用 python2.6.6。

  • SaltStack 软件是一个 C/S 架构的软件,通过管理端下发指令,客户端接受指令的方式进行操作。

  • ZeroMQ 是一款消息队列软件,SaltStack 通过消息队列来管理成千上万台主机客户端,传输指令执行相关的操作。而且采用 RSA key 方式进行身份确认,传输采用AES 方式进行加密,这使得它的安全性得到了保证。


下面我将详细介绍 SaltStack 软件的概念与工作机制。


SaltStack 的基本概念与工作原理

SaltStack 本身是一种开源的基础架构集中化管理平台,相比其它商业产品,其部署及配置稍显杂。为了更好的部署和配置 SaltStak,本章节将着重介绍它的基本概念、特性与工作原理。


SaltStack 简介与特性

SaltStack 是一种基于 C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion。SaltStack具备配置管理、远程执行、监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func。SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件ZeroMQ 与 Python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建。


通过部署 SaltStack 环境,运维人员可以在成千上万台服务器上做到批量执行命令,根据不同的业务特性进行配置集中化管理、分发文件、采集系统数据及软件包的安装与管理等。


SaltStack 具有以下特性,帮助企业 IT 更好的实现系统批量管理:

  1. 部署简单、管理方便;

  2. 支持大部分的操作系统,如 Unix/Linux/Windows 环境;

  3. 架构上使用C/S管理模式,易于扩展;

  4. 配置简单、功能覆盖广;

  5. 主控端(Master)与被控端(Minion)基于证书认证,确保安全可靠的通信;

  6. 支持 API 及自定义 Python 模块,轻松实现功能扩展;


更多内容,请阅读原文。

以上是关于dW 编辑推荐:自动化运维工具 SaltStack 在云计算环境中的实践的主要内容,如果未能解决你的问题,请参考以下文章

自动化运维工具saltstack

自动化运维工具SaltStack详细部署

自动化运维工具SaltStack详细部署

自动化运维工具SaltStack详细部署

自动化运维工具之SaltStack-1SaltStack介绍及安装

自动化运维工具之Saltstack