如何将相同的堆栈+配置部署到多台服务器?

如何将相同的堆栈+配置部署到多台服务器?

目前我有 2 个 VPS,已设置并配置几乎和这个一模一样以及其他一些次要的 Nginx 配置。我全部手动完成

我想获得其他几个 VPS 并部署完全相同的设置和配置,但我不确定要使用哪个工具。所有 VPS 都带有 root 访问权限和 SSH。

我在 ServerFault 上读到过有关 Puppet、Cobbler 和 CloneZilla 等项目的文章,据我所知,Puppet 和 Cobbler 的用途不同,但 CloneZilla 在其中处于什么位置?我可以使用 CloneZilla 从一台服务器克隆全新安装/设置,然后部署到另一台服务器并使用 Puppet+Cobbler 管理将来的更新等吗?

另外,您会给首次使用这些工具的用户什么建议?

  • 每个 VPS 位于不同的位置,服务于不同的网站(完全不连接)
  • 精确设置 = LEMP+Varnish+WordPress [Munin+Nagios+Awstats]

答案1

是的,您建议的方法是可行的,而且您正是要将这些工具组合起来使用。您可以使用 Clonezilla 或 Cobbler 来推出初始安装,并使用 Puppet 在安装后保持配置同步。(仅供参考,你没有提到的另一个流行的 Linux 配置管理器叫做Chef

Clonezilla 不必在任何地方都适合这个,尽管这是一个有点有趣的想法,但它可能会增加太多的复杂性,而对图片的价值却太小。您可能希望最初使用一个工具来部署操作系统(Clonezilla或者Cobbler),然后使用一个工具作为配置管理器 (Puppet)或者厨师)。

  • 我可能会选择 Cobbler,因为 Clonezilla 主要用于同时部署大量客户端机器,并且大概您不想尝试通过互联网将块级硬盘操作系统映像推送到新的 VPS。

至于一般性建议……好吧,我们在这里实际上不这样做,因为它太宽泛和主观,不太合适,所以我只会选择三件很难出错的事情。

  1. 正在加载...
    • 是的,请阅读这些工具的文档。既可以决定选择哪一个,又可以了解如何最好地使用您选择的工具。

  2. 实践。
    • 经验是无可替代的,甚至阅读手册也不例外。因此,阅读完文档后,请去积累一些经验。
    • 上帝发明了测试环境,这样你的失误和“学习经验”就可以保密,而不会影响生产环境。使用测试环境进行试运行,并在推出任何实时或面向客户的产品之前,先了解你的流程和配置。

  3. 制定计划。
    • 对于这种项目,正确获取初始映像或网络部署配置至关重要。
      • 制作“黄金映像”并坚持该标准。如果在部署新 VPS 时只克隆一个生产系统,那么你将陷入噩梦。

如果您不太清楚它们是什么以及它们的用途,请参阅下面有关这些程序的简要说明以及它们的“关于”页面的链接。

克隆兹拉

是一个映像管理和部署程序。它允许您获取一台机器的磁盘映像,并将完全相同的映像部署到多台其他机器。它还有一些选项可以进行基本的配置更改,并在推出映像后自动进行这些更改。(例如,可能不希望所有 500 台用户机器都具有相同的主机名。)

通常,它用于(至少在企业环境中)将相同的映像和配置部署到多台用户机器,以便每个人都拥有相同的台式机/笔记本电脑映像,并使帮助台更容易接受。

皮匠

是一个网络安装管理器和自动化工具。它与 Clonezilla 非常相似,有助于自动化和标准化安装过程。两者之间最重要的区别在于,Cobbler 标准化了执行网络安装的命令,而不是推出整个磁盘映像。

木偶

是一个配置管理套件。它用于在机器上创建和维护相同的配置它们被成像并设置好。

厨师

与 Puppet 一样,这是一个配置管理套件。它用于在机器上创建和维护相同的配置它们被成像并设置好。

答案2

您还可以考虑(R)?,它易于学习,并有助于配置管理和软件部署。它需要在其节点上使用 SSH 或 HTTP。

答案3

你的链接指向你的博客而不是服务器规格...等等如果你已经有服务器并且想要移植到 puppet/chef 我建议使用 blueprint - 这是一个 python 工具

pip install blueprint
blueprint create -P myserver # this does puppet manifests
blueprint create -C myserver # this does chef

相关内容