gpt4 book ai didi

puppet - 在 Puppet 中使用 Factor 事实

转载 作者:行者123 更新时间:2023-12-02 04:03:51 27 4
gpt4 key购买 nike

我是 puppet 新手,并计划在我们的环境中实现它。

我有在不同版本的 Redhat 上运行的 puppet 代理。

现在,我计划从 puppet master 推送存储库文件,我需要您的指导来实现同样的操作。

我有以下 list 。

file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => 'puppet:///modules/repo/rhel7.1',
}

file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => 'puppet:///modules/repo/rhel6.7',
}

当我执行 Facter CLI 时,我得到以下输出。

[root@dheera ~]# facter os
{
architecture => "x86_64",
family => "RedHat",
hardware => "x86_64",
name => "RedHat",
release => {
full => "7.2",
major => "7",
minor => "2"
}
}

我想利用上面的输出并相应地执行我的 list 。也就是说,如果 puppet 代理在 Redhat 7.1 上执行,则 Puppet master 使用相应的文件。

最佳答案

您可以通过使用 source 属性内的 Facter 变量,然后将其插值到字符串中来实现此目的。请注意,您的 ' 必须更改为 " 才能在字符串中插入变量。

因素 2/puppet 3:

file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => "puppet:///modules/repo/rhel${::os['release']['full']}",
}

因素 3/puppet 4:

file { 'local_repo':
ensure => file,
path => '/etc/yum.repos.d/local.repo',
mode => "600",
source => "puppet:///modules/repo/rhel${facts['os']['release']['full']}",
}

您可以在这里找到有用的文档:https://docs.puppet.com/puppet/4.8/reference/lang_facts_and_builtin_vars.html

它适用于最新版本,但也包含旧版 Puppet/Facter 信息。

关于puppet - 在 Puppet 中使用 Factor 事实,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40479244/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com