人偶代理不能使用不同的环境

can't use different environment for puppet agent

我有一个 agent/master 设置。我在 /etc/puppetlabs/code/environments/ 中创建了一个名为 master 的新环境。

master目录环境的environment.conf内容为

modulepath = site:modules:$basemodulepath
manifest = manifests/site.pp

当我尝试 puppet agent -t --environment master 时出现错误

Notice: Local environment: 'master' doesn't match server specified node environment 'production', switching agent to 'production'.
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for node1.localpuppet.com
Info: Applying configuration version '1490712072'
Notice: Applied catalog in 0.67 seconds

我是木偶新手。我需要做哪些改变?

PE Console Config

这是 Puppet Enterprise 在过去几年中出现的 "really fun" 怪癖。您必须在 PE 分类器中指定允许在 puppet.confpuppet agent -t --environment 参数中指定其目录环境的节点。

在分类器的代理指定环境选项卡中(您在上图底部看到它),您可以为所有节点启用它。为此,请添加规则,选择 name 事实,使用正则表达式 (~),然后使用正则表达式匹配所有字符 (.*)。填完后,PE 分类器会给你一些匹配的节点。它应该是所有订阅你的主人的人。记得点击右下角的更新您的规则。您的节点现在可以使用 master 而不是来自配置文件或 CLI 参数的 production

也就是说,如果您这样做是为了避免在使用代码管理器时在您的控制存储库中命名您的默认 Git 分支 production,您实际上应该按原样重命名该分支容易多了。