自动化运维工具SaltStack在云计算环境中的实践是怎样的

发布时间:2022-01-15 10:59:25 作者:柒染
来源:亿速云 阅读:138

这篇文章将为大家详细讲解有关自动化运维工具SaltStack在云计算环境中的实践是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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

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

图 2.SaltStack 操作执行原理图

自动化运维工具SaltStack在云计算环境中的实践是怎样的

下面让大家了解了什么是 SaltStack 以及它的通信及执行原理,。

SaltStack 的架构设计

为了让大家更好的理解 SaltStack 在云平台集中化管理方面的优势,因此,根据项目的实际情况绘制了部署架构图,并在文中对架构图进行了详细说明。如图 3 所示:

图 3.SaltStack 部署架构图

自动化运维工具SaltStack在云计算环境中的实践是怎样的

    软件名 功能
    Python 2.6软件包 Python主安装文件
    PyYAML软件包 SaltStack 配置解析定义语法
    Msgpack-python SaltStack 消息交换库
    Jinjia2 SaltStack states 配置模版
    MarkupSafe python Unicode 转换库
    Apache-libcloud SaltStack 对云架构编排库
    ZeroMQ SaltStack 消息系统
    Pyzm ZeroMQ python 库
    PyCryto Python 密码库
    M2Cryto Openssl Python 包装库
    Requests HTTP Python 库

    为了方便依赖包的安装,本章将采用 YUM 的方式进行安装。

    首先下载并安装 epel 源,执行以下指令,将 epel.repo 存储到/etc/yum.repos.d 目录下。

     wget –o /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-6.repo

    并通过 Yum list 命令来校验安装源是否生效,如出现图 4 所示,则表明Yum源已经生效。

    图 4.SaltStack 安装源
    自动化运维工具SaltStack在云计算环境中的实践是怎样的


    安装完成后,输入 chkconfig salt-master on 将 master 服务加入到开机启动项,这样每次系统启动,都会自动加载 master 服务。输入 service salt-master start 启动 master 服务。之后通过 netstat –antp 查询服务状态,结果如图 6 所示。

    图 6.SaltStack master 服务查询
    自动化运维工具SaltStack在云计算环境中的实践是怎样的


    安装完成后,输入 chkconfig salt-minion on,将 minion 服务加入到开机启动项,这样每次系统启动,都会自动加载 minion 服务。输入 service salt-minion start,启动 minion 服务。之后通过 netstat –antp 查询服务状态,结果如图 8 所示。

    图 8.SaltStack Minion 服务查询
    自动化运维工具SaltStack在云计算环境中的实践是怎样的

    到目前为止,SaltStack 的安装工作已经完成,Master 和 Minion 主机服务都已经正确开启,端口服务正常。下一章将主要介绍如何配置 SaltStack,使其可以正常的提供各种功能。

    SaltStack 的配置

    SaltStack 的配置主要集中在 Master 主机端,客户端的配置较少,本章将通过以下两部分详细介绍。

    Minion 端配置

    SaltStack-Minion 是 SaltStack 安装在客户端的代理,负责接收服务器端发布的指令并执行,同时负责客户端的状态监控。客户端要想被 master 管理,需要修改其配置文件,将服务器指向到 Master 的地址。其配置文件位于/etc/salt/目录下,名为 minion,通过 vi 工具修改,如图 9 所示。

    图 9.SaltStack Minion 配置
    自动化运维工具SaltStack在云计算环境中的实践是怎样的


    配置完成后,保存并通过 service salt-minon restart 命令重启 minion 服务。本次测试案例,并不需要其它高级功能的演示,所以客户端到此配置结束,更多功能的配置,请参考SaltStack 官方手册。

    Master 端配置

    SaltStack-Master 是 SaltStack 组件的核心服务,负责发布指令及配置文件的分发与管理,及客户端的管理功能。Master 要想正常提供服务,需要接受客户端的证书认证请求。我们之前已经介绍过,SaltStack 是通过 SSL 证书认证的方式进行通信的。如图 10 所示操作,输入 salt-key –l 来查询客户端证书状态,并如图 11 所示操作,输入 salt-key –A 接受客户端认证。

    图 10.SaltStack 证书查询
    自动化运维工具SaltStack在云计算环境中的实践是怎样的


    从图中可以看到客户端被发现,但是处于未被接受状态,需要管理员执行图 11 所示指令,进行接受。

    图 11.SaltStack 接受证书
    自动化运维工具SaltStack在云计算环境中的实践是怎样的


    至此我们已经完成 SaltStack 的全部配置。

    SaltStack 测试

    通过本章节中的两个测试案例,可以验证 SaltStack 是否运行正常,是否可以完成预定的功能。我们可以通过 salt '*' test.ping 来测试客户端是否在线,并被 master 管理,如图 12 所示,如果返回 True,则说明客户端已经被 master 管理,并处于在线状态。

    图 12.SaltStack 接受证书
    自动化运维工具SaltStack在云计算环境中的实践是怎样的


    接下来,我们将通过批量执行命令和批量安装软件,来测试 SaltStack 的部分功能。

    批量执行命令

    在日常运维中,同时对多台服务器进行操作,是一个很平常的需求。比如批量执行 ping 操作,验证服务器是否在线,批量执行查询命令,看服务器的负载及利用率。如图 13 所示的指令为批量查询服务器操作系统的版本

    图 13.SaltStack 查询服务器的 IP 信息
    自动化运维工具SaltStack在云计算环境中的实践是怎样的


    *代表对所有的被管理客户端进行操作,cmd.run 是命令调用模块,ifconfig 是具体的执行命令

    批量安装软件

    批量安装软件也是日常运维中的家常便饭,我们可以通过 SaltStack 的软件推送功能,对所管理的服务器进行进行相关软件的批量安装。如图 14 所示的指令为批量安装软件 lrzsz 在客户端服务器中。

    图 14.SaltStack 安装 lrzsz
    自动化运维工具SaltStack在云计算环境中的实践是怎样的

    如上图所示,lrzsz 软件被顺利的安装到了客户端服务器。 通过以上两个测试,可以验证 SaltStack 可以正常的为云平台提供集中化的管理与配置功能。

关于自动化运维工具SaltStack在云计算环境中的实践是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. Linux中什么是自动化以及运维利器SaltStack的安装使用
  2. Ansible自动化运维工具

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

saltstack 云计算

上一篇:互联网中安秒平衡原则是什么

下一篇:springboot整合quartz定时任务框架的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》