节点上部署分布式应用程序的最佳策略

节点上部署分布式应用程序的最佳策略

这是关于部署和维护节点的一般问题。我不是系统管理员。

我正在考虑以下“天真”的策略:

  1. 选择一种 Linux 风格并坚持使用它。
  2. 创建一个具有我的 Linux 风格的图像。
  3. 在图像上安装我的应用程序、脚本和所有包。
  4. 删除所有不必要的包和应用程序。
  5. 配置安全性(阻止端口、监控工具)。
  6. 备份我的图像。
  7. 必要时在每个新节点上复制我的图像。
  8. 安装安全更新(最终创建我的图像的更新版本)。
  9. 运行设置脚本+配置。

这是常见做法吗?有更好的策略吗?我还应该考虑其他角度吗?

答案1

听起来您是云计算解决方案的首选。我会研究使用类似亚马逊 EC2 的产品,它可以自动执行您列出的所有步骤,只需单击一下按钮即可。不要将自己限制在 EC2 上,因为市场上有很多竞争对手。

但简而言之,这是一种相当普遍的做法。

答案2

您可能会修改步骤 1。您正在限制您的客户群。您可以限制支持的发行版集,但我不会只选择一个。

对于应用程序分发,我将以节点操作系统的原生格式提供软件包。应用程序更新将是一个简单的软件包更新,这对系统管理员来说尽可能简单。

如果您想要从操作系统层面开始准备整个环境,您有两个选择。您可以准备所选格式(或多种格式)的 VM 文件。然后您必须从操作系统层面开始准备整个环境。

或者您可以准备一个自动安装系统/映像(使用发行版本机的非交互式安装系统,或将其与 xCat 结合使用),它将部署一个完整的操作系统,对其进行配置,然后在其上加载您的应用程序。

答案3

您可以尝试类似的工具系统成像器它支持 PXE 多播分发,甚至支持 bittorent 协议来分发更改。如果您需要一次生成许多节点,bittorent 很诱人,但要小心,如果您不注意,可能会使一些交换机/路由器瘫痪。

添加木偶或者厨师将它们混合在一起来管理包/配置文件/网站,就应该没问题了。

相关内容