动态地将值从詹金斯发送到p清单

问题描述 投票:0回答:1

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

感谢您的想法。

puppet hiera
1个回答
0
投票

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

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

  1. [代理系统,puppet代理引用此文件创建新的docker实例。

对我来说似乎可能,但是文件来自哪里,以及如何获取正确的内容?如果答案是“木偶处理”,那么您还没有真正解决任何问题。但是,如果答案有别的,那么这种组合就构成了极其糟糕的风格,并可能在某些时候咬住您。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.