Page 1 of 1

如何对几十台服务器进行集中管理?

Posted: Sun Mar 02, 2025 5:26 am
by sakib40
从一开始,NewsmanApp就被设计为水平扩展。这意味着分布式数据库(Cassandra)、负载均衡器、大量服务器、大量配置(许多重复的)。直到最近,输入系统的每个新服务器设置都是手动完成的。也就是说,我们已经在内部 WIKI 中记录了该过程,任何有访问权限的人都可以按照 SETUP 的步骤进行操作。复制命令,粘贴,运行,检查配置,重新启动服务(postfix、munin、monit 等)。

这项工作一开始还算有效,但渐渐地就变成了一份没有吸引力的常规工作。当您需要在 60 多台服务器上更新到最新版本的应用程序时,您该怎么做?

选项 1) 手动。 ssh远程主机。从存储库复制新文件,重新启动服务。它在 阿塞拜疆 WhatsApp 号码数据库 几台服务器上运行,但从 20 台开始就出现问题了。此外,进行更新的人必须高度值得信赖(在公司拥有丰富的经验、值得信赖)。 SSH 密钥并不适合所有人。

选项 2)织物。我们热爱 Python。布料是自然的选择。好的,通过ssh制作部署脚本,运行脚本并等待。远程连接也是通过 SSH 完成的。通过 ssh 部署很慢,并且安全问题(高度信任的人​​)仍然存在。

选项 3) Debian 存储库和 saltstack。我们开始寻找替代解决方案,例如:Chef或Puppet。 Chef 是 Ruby(这里不喜欢 Ruby)。 Puppet 太企业化了。相反,我遇到了saltstack。 Python、YAML 配置和Zero MQ。结果如何?惊人的速度。 60多台服务器同时部署只需不到1分钟。安装新服务器简化为:安装 salt-minion(saltstack 从属)并运行命令(salt-call state.sls install)。通过将所有内容迁移到 saltstack,我们解决了速度和安全问题。公司中在新服务器上进行设置的人员不应有权访问 ssh 密钥或主服务器。

分类帖子:我很高兴完成了自动化流程,可以去度假了。