如何在Puppet中访问应用程序级变量

时间:2016-09-27 17:23:18

标签: puppet

我知道这个问题可以解释,所以我会询问具体细节。

我正在利用Puppet来控制一些应用程序级变量和设置。我遇到的问题是很多这些变量都没有在诸如操作系统,主机名,ipaddress等事实中设置。我在试图弄清楚如何利用puppet来创建变量来处理时,我很难设置。

例如,我有一些运行不同版本的应用程序的服务器,因此我需要能够找出服务器上运行的版本。 我该怎么做?

我的第一个想法是,由于标准事实列表中没有提供这些事实,我应该创建自己的事实,我可以利用这些事实,所以我做的事情如下:

module_name
|
|---manifests
|---files
|---examples
|---facts.d
   |---script.sh

在我的script.sh中,我正在执行linux命令以从应用程序中获取变量。然后以格式

回显它们
key=value

因此,在存储应用程序版本的地方,我会找到该位置,然后回显出该版本。然后在运行时我可以使用像$ app_ver这样的变量来进行特定的配置更改。如

app_ver=1.0.8
java_ver=1.7
  1. 这是定义外部事实的正确方法吗?
  2. 是否有获取应用程序级详细信息的标准方法?
  3. 当puppet在给定的app服务器上应用时,script.sh会运行,提供事实,然后让这些变量可供puppet master使用以确定配置更改吗?
  4. script.sh文件中的计算是否必须在与此类匹配的每台服务器上运行?

0 个答案:

没有答案