【问题标题】:How to apply puppet manifests and modules WITHOUT installing Puppet RPM?如何在不安装 Puppet RPM 的情况下应用 puppet 清单和模块?
【发布时间】:2015-07-22 17:01:22
【问题描述】:

我想创建一个 RPM 包,在不包含 Puppet、Facter 和 Hiera 的服务器上应用 Puppet 清单。 此外,更重要的是,我应该能够应用它,而不必在生产服务器上安装这些工具(Puppet、Facter、Hiera)。

所以基本上,包应该运行以下命令而不安装任何必需的包:

puppet apply install.pp --modulepath=./modules --hiera_config=./conf/hiera.yaml

我怎样才能继续制作这样的包裹?提取 Puppet/Hiera/Facter RPM 的“二进制”文件以将它们包含在另一个文件中是个好主意吗?

谢谢!

【问题讨论】:

  • 您为什么要避免安装这些软件包?您当然可以手动提取它们的内容并将它们包含在您自己的 RPM 中,但是您实际上只是安装了这些软件包,而无法可靠地跟踪它。如果您实际上没有将文件安装到正确的位置,它们甚至可能无法正常工作。
  • @EtanReisner 清单将在我的客户生产服务器上一次性应用,他们非常不愿意安装新软件包的想法。
  • 之后您可以随时删除它们。但是这些文件需要存在才能使它们工作。它们可能需要存在于正确的位置才能使其正常工作。如果您打算将文件放在系统位置而不使用 rpm 来管理您是在自找麻烦。因此,据我所知,您的选择是按原样使用官方 RPM 或将其内容重新打包到您的 RPM 中。前者意味着您可以独立于清单/等卸载它们。后者意味着您不能。

标签: package puppet rpm


【解决方案1】:

安装相关的软件包然后删除它们将是迄今为止最快和最安全的方式来做你想做的事。也许您可以说服您的客户,任何其他解决方案的时间成本都不值得。 无论如何,如果包不是一个选项,让我们创新:

这两个选项可能有效,但不够创新。

  • 如何通过 gems 或 tarball 在磁盘上“本地”安装 puppet,然后通过 nfs 安装此磁盘?
  • 既然我们在这里,为什么不做同样的事情,然后使用 sshfs 挂载?
  • 仍然有先进行远程安装的想法,您确实可以通过fpm 重新打包它(非常棒的工具,强烈推荐)。您最终仍然会得到一个包,但这是一个不需要添加存储库的本地包,这可能会减轻您的一些客户顾虑。
  • 在此基础上,如果问题出在存储库而非软件包上,您可以下载所有必需的软件包并手动安装

我想这个答案的总结是,与使用你的分发提供的相比,这样做的价值是负面的。

【讨论】:

    猜你喜欢
    • 2013-07-04
    • 2014-06-04
    • 1970-01-01
    • 2020-05-18
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多