Juju/Puppet 服务的配置文件

Juju/Puppet 服务的配置文件

我编写了自己的服务,并希望通过 Juju/Puppet 脚本来部署它。主要目标是使部署的整个过程自动化,我发现 Juju/Puppet 应该是最好的。

  1. 我是否必须准备包(deb/rpm)或者可以从远程存储库下载(它是 python 服务)?
  2. 我应该如何管理此服务的配置文件?每个节点的配置文件略有不同,我想知道有哪些方法可以自动解决这个问题。是否有任何可以使用的通用配置文件格式,或者我可以选择哪些行应该包含在哪个节点的配置中,或者指定“hostname= hostname -s”,它将由 Juju/Puppet 执行并覆盖。有什么常见的解决方案吗?

我感兴趣的是它在生产中是如何完成的——在数据中心、测试环境等。管理员如何处理所有这些配置文件。他们如何自动化他们的工作。最近我不得不在几台不同的服务器上配置许多不同的服务(其中一些只是从源代码安装的,因为我的发行版没有软件包——我使用的是 Ubuntu 12.04)。我必须创建测试环境,当我不得不在每个节点上重复每个配置时,我真的很无聊。我不是 bash 脚本方面的专家,无法用单个或几个 bash 脚本自动完成整个过程,所以也许像 Juju/Puppet 这样的工具可能会有所帮助——尤其是我不喜欢 bash :),我想用 bash 写尽可能少的东西。

我从未在数据中心工作过,所以我想知道专业人士是如何做的。

答案1

Juju 主要针对 ec2/rackspace 和其他基于云的部署。您也可以在传统数据中心部署中使用它。

如果您打算在传统数据中心或 Colo 环境中使用 Juju,那么您可能会发现 Juju 和 puppet 的功能基本相同。这意味着,您最好只使用其中一个,而不是同时使用两者。

至于你的两个问题:

  1. 我不确定您打算将哪些具体部分打包为 rpm/debs。如果您是这个意思,您可以使用 puppet 安装您创建的自定义包。
  2. 在 Puppet 世界中,处理不同配置文件的一种方法是使用 Puppet模板模板和 Puppet 清单代码可以从后端数据源获取信息,使用电子海图功能或附加组件,例如希拉

如果您想在 ec2 或其他服务上部署您的服务,puppet 和 juju 都可以正常工作。

相关内容