Excel不相邻列如何打印在一起-英雄云拓展知识分享
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 软件包,并让软件 启动起来。之后,在我们进行自动化软件发布平台的代码编写时,实际上就是模拟这 一手工操作的过程。
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~