从 jenkins 动态地将值发送到 puppet manifest



我们使用puppet manifest/hiera在特定服务器中创建mysql docker实例。每次有对新数据库的请求时,我们都会在 hiera 中手动添加一个新条目,该条目由清单选择并创建 docker 实例。现在,我们需要通过 jenkins 自动化这个过程。有没有办法我可以动态地将值发送到 hiera 或将一些文件放在代理系统中,而 puppet 代理直接引用此文件来填写清单中引用的变量的值。我正在考虑以下选项。 1. 从 jenkins 向 hiera 添加一个新条目并提交文件(我们在 git 中维护文件(,因此该文件由 puppet agent 使用。这涉及由于多次提交而导致的轻微失败风险。 2.在代理系统中有一些文件,puppet代理引用该文件来创建新的docker实例。 3. 还有其他方法可以实现这一目标吗?

我很欣赏你的想法。

我正在考虑以下选项。1. 添加一个新条目 来自 jenkins 的 hiera 并提交文件(我们在 git 中维护文件(,所以 此文件由傀儡代理使用。这涉及轻微的风险 由于多次提交而失败。

撇开关于哪个组件使用 Hiera 访问数据的困惑,是的,这是一个可行的选择。 可能也是最简单的,因为它构成了您当前流程的直接自动化。

  1. 有一些文件放在 代理系统,傀儡代理引用此文件创建新的 docker 实例。

对我来说似乎是可能的,但是文件来自哪里,它如何获得正确的内容? 如果答案是"木偶处理那个",那么你还没有真正解决这个问题。 但是,如果答案是其他任何东西,那么这种组合构成了极其糟糕的风格,并且可能会在某个时候咬你。

  1. 还有其他方法可以实现这一点吗?

很多。 但是在那些看起来最吸引人的中,有可能添加一个 Hiera 后端,该后端从数据库而不是平面文件中获取数据。 然后 Jenkins 可以将数据存储在数据库中,Puppet 可以通过 Hiera 从那里读取它,具有您喜欢的任何级别的事务隔离和引用完整性。 请注意,您不必切换到它,因为相同的 Hiera 配置可以从多个后端提取数据。 一些 DBMS 有现有的 Hiera 后端,或者如果您愿意,编写自己的后端不会那么复杂。

相关内容

  • 没有找到相关文章

最新更新