技术分享 | 基于SaltStack的自动化部署
Posted 富通云腾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术分享 | 基于SaltStack的自动化部署相关的知识,希望对你有一定的参考价值。
导读 SaltStack是一种基于 C/S 架构的服务器基础架构集中化管理平台,它基于Python语言实现,由轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、 python-msgpack和PyYAML等)构建,具备配置管理、远程执行、监控等功能。今天将与您分享SaltStack在云管理服务中的部署与实践。
架构与配置
SaltStack是基于C/S服务模式,在该架构中,服务器端叫做Master,客户端叫做Minion。传统的C/S模式是客户端发送请求给服务器端,服务器端接受到来自客户端的请求并处理完成后再返回客户端。在SaltStack架构中,不仅有传统的C/S服务模式,而且有消息队列中的发布与订阅(pub/sub)服务模式,目前我们一般用其C/S架构做批量管理。它的组件包括如下:
Master,控制中心,salt命令运行和资源状态管理端
Minions,需要管理的客户端机器,会主动连接master端,并从master端得到资源状态信息,同步资源管理信息
States,配置管理的指令集
Grains, minion端的静态变量
Pillar,minion端的动态变量
Highstate,给minion永久添加状态,从sls配置文件读取
salt schedule,自动保持客户端配置
通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等。
富通云腾利用SaltStack自动化部署虚拟机VM 、部署监控报警、部署自定义账单等复杂性重复操作,并可以根据用户场景提供定制化服务。
根据用户需求自动化为用户在云平台创建虚拟机及安装操作系统、数据库、中间件等软件产品及公有云各类产品的服务。
根据系统需求并获得用户认可后,为服务范围内的系统自动化升级及打补丁。
根据用户需求对系统进行监控,并对监控到的系统异常进行自动化报警。
根据用户需求对系统进行自动化例行操作,如删除日志、备份数据、系统归档、巡检等。
根据用户需求对系统运行数据进行自动化收集,总结并形成分析结果,供用户参考决策。
根据用户需求建立资产数据库和配置管理数据,建立事件、配置、问题、变更、发布、服务级别等方面的管理流程,获得认可后自动化执行。
根据用户需求对用户公有云账户消费过程进行自动化管理,对系统运行成本进行自动化核算并出具符合用户要求的成本报表,供用户参考决策。
总的来说,SaltStack具有部署简单、方便,支持大部分UNIX/Linux及Windows环境,主从集中化管理,配置简单、功能强大、扩展性强,主控端(master)和被控端(minion)基于证书认证安全可靠,支持API及自定义模块可通过Python轻松扩展等特点。通过自动化部署,不仅可以实现对业务流程的有效梳理,提高运维工作效率,还能发现潜在的问题,降低故障率,并有利于故障的快速恢复。
SaltStack可谓是运维人员提高工作效率、规范业务配置与操作的利器,它将为企业级客户自动化运维和业务迭代保驾护航。
如需了解更多产品与服务详情,请点击页面左下方“阅读原文”填写相关信息,富通云腾的专业工程师将在第一时间为您答疑解惑。
以上是关于技术分享 | 基于SaltStack的自动化部署的主要内容,如果未能解决你的问题,请参考以下文章
自动化运维集中式管理工具saltstack的基于各个平台的部署