ad

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_3.5 使用 SaltStack 推送服务端脚本

网友投稿 126 2023-11-07

【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第3章,第5节,由陈刚、王洪军编著。

3.5 使用 SaltStack 推送服务端脚本

当生成软件包,并放入软件仓库以后,就可以通过 SaltStack 来进行部署了。 SaltStack 是一个比较新的自动化运维工具,可以实现计算机集群的配置管理和执行 远程命令的功能。在我们的系统中,看重的是执行远程命令的功能。因为这个功能 可以让我们通过 Salt Master(甚至是 Salt HTTP API)向指定的服务器发布一组执行 指令,实现我们需要的软件备份、服务停止、软件更新、服务重启、健康检查等功能。

关于 SaltStack 的基础知识,大家可以参看网络上的其他文档。至于我们为什么 选择 SaltStack, 也是基于以前的技术积累。另外一点,不是每个公司都推行 Ansible 那 套基于用户名密码,或是RSA 公私钥的登录,但是假如一个公司能推行 SaltStack 的 安装,那就不用存在远程用户管理的事务了。当然,如果读者更熟悉Ansible, 在完全 掌握整个部署流程和自动化软件发布系统的设计以后,从 SaltStack 到 Ansible 的转 换也是比较容易的。

在本节,我们会进行实战演练,从 Salt Master 、Salt Minon 的安装,Salt-API (HTTP REST API方式)的配置,到远程推送上一节生成的 Java 软件包,并让软件 启动起来。之后,在我们进行自动化软件发布平台的代码编写时,实际上就是模拟这 一手工操作的过程。

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_3.5 使用 SaltStack 推送服务端脚本

3.5.1 Salt Master 及 Salt Minion的安装

在我们的实验环境中,Salt Master的 IP 地址为192.168.1.111,Salt Minion 的 地址为192.168.1.112。这里只提供了一个 Minion 作为测试,在实际环境中, 一个 Master 能管理近3000 台 Minion 服务器,规模也不算小了。为了演示和讲解方便,下面的 Salt Master 和 Minion 的安装均为最小设置。在 生产环境中,如果要用好 SaltStack, 则需要进行设置调优,甚至双 Master 或是 Syn-

dic 框架。

① 如果使用默认的 Yum 源安装,Salt 的版本会比较老旧。为了使用新的 Salt- Stack, 首先更新 Master 和 Minion 机器的 Yum 软件源,由于我们使用的操作系统为 Centos 7 系统,故命令如下:

yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.no-

arch.rpm

以上命令在 Master 和 Minion 上都要执行。

② 在 Master 上执行如下命令进行 Salt Master的安装。

yum install salt-master

安装后的版本为 Salt Minion 2018.3.2(Oxygen)。

③ 在 Minion 上执行如下命令,进行 Salt Minion 的安装。

yum install salt-minion

④ 在192.168.1.111上启动 Master 服务,命令如下:

systemctl start salt-master.service

⑤ 192.168.1.112上配置 Minion 并启动服务。

使用Vim 打开/etc/salt/minion 文件,更改以下两处:

● 将 #master:salt行更改为 master:192.168.1.111 (此处依读者自己的 Mas- ter IP 而定)。

● 将 #id:行更改为 id:192.168.1.112 (此处依读者自己的 Minion IP而定)。 然后,执行如下命令启动 Salt Minion 服务:

systemctl start salt-minion.service

⑥ 此时,在 Master 服务器上运行如下命令,看是否有 Minion 加入请求。

salt-key -L

如果设置正确,则输出如下:

Accepted Keys:

Denied Keys:

Unaccepted Keys;

192.168.1.112

Rejected Keys:

⑦ 如果有 Minion 加入请求,运行如下命令,将此 Minion 加入 Master 管理。

salt-key -A

在接下来的对话 Proceed?[n/Y] 后,输入y 即可。

⑧ 再次运行 salt-key-L 命令,就会看到192.168.1.111已在管理之中。

Accepted Keys:

192.168.1.112

Denied Keys:

Unaccepted Keys:

Rejected Keys:

⑨ 运行一个简单的 test.ping来完成此次安装测试。命令如下:

salt ' 192.168.1.112'test.ping

如果 Salt Master 和 Salt Minion 之间连接正常,则输出如下

192.168.1.112:

True

这证明,我们的安装初步完成。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_2.4.4 定义数据类型的好处
下一篇:《深入理解 Java 虚拟机 JVM 高级特性与最佳实践(第3版)》_求知之路漫漫_3.5.7 Garbage First收集器
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×