【问题标题】:Masterless puppet with hiera无主木偶与 hiera
【发布时间】:2015-04-20 22:49:17
【问题描述】:

我正在尝试用 puppet 找出无主环境。我正在使用this link 在 Ubuntu 上安装最新版本的 Puppet。

我正在使用此存储库 https://github.com/szymonrychu/puppet-masterless 并运行脚本:modules/os/files/puppet.sh

它将当前 Puppet 存储库下载到 /opt/puppet 目录,然后运行其中指定的代码。 (它设置 cronjob 指向脚本,所以它会每小时运行一次)

在第一次运行后,准备好 hiera 环境 (hiera.yaml) 并进行部署。从那时起,代码应该开始连接到 hiera 数据库,但它没有发生。

modules/os/files/hiera.yamlma​​nifests/site.pp 中很可能存在问题,但经过几天的努力,我可以'让它工作。

【问题讨论】:

  • 究竟是什么不起作用?
  • 在 puppet 代码中,在 os 模块中,我有几个变量。我想用 hiera 覆盖它们。例如,有“版本”变量。默认情况下它等于'v0.0.0'。我希望以每次 puppet 执行配置时将这个变量覆盖为“ugabuga”的方式配置 hiera,但我错过了一些东西..

标签: puppet environment hiera


【解决方案1】:

好的!我知道是什么坏了:) common.yaml 中的第一个缺失部分:

(...)
classes:
 - os
os::version: 'ugabuga'
(...)

modules/os/manifests/init.pp中的第二个错误:

class os (
  $version = 'v0.0.0'
){ (...) }

代替:

class os {
$version = 'v0.0.0'
(...)
}

最后,代码应该像这样包含在 ma​​nifests/site.pp 中:

node default {
  hiera_include('classes')
  include os
}

就是这样!但这并不是微不足道的——至少对我来说。在这种情况下,文档并没有那么具体,也没有关于此的复杂示例。

【讨论】:

    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2013-06-09
    • 2013-08-08
    相关资源
    最近更新 更多