不能为different代理使用不同的环境

Ami*_*ddy 3 puppet puppet-enterprise

我有一个代理/主设置。我创建了一个新的环境,/etc/puppetlabs/code/environments/所谓master

的内容environment.confmaster目录环境

modulepath = site:modules:$basemodulepath
manifest = manifests/site.pp
Run Code Online (Sandbox Code Playgroud)

当我尝试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
Run Code Online (Sandbox Code Playgroud)

我是木偶新手。我需要什么改变?

PE控制台配置

Mat*_*ard 5

这是最近几年出现的Puppet Enterprise的“非常有趣”的怪癖。您必须在PE分类器中指定允许在puppet.confpuppet agent -t --environment参数中指定其目录环境的节点。

在分类器中代理指定的环境选项卡中(您在上图的底部看到它),可以为所有节点启用它。为此,添加一条规则,选择一个name事实,使用正则表达式(~),然后使用正则表达式匹配所有字符(.*)。填写完毕后,PE分类器将为您提供许多匹配的节点。它应该是所有已订阅您的主机的东西。请记住单击右下角的以更新您的规则。现在,您的节点将可以使用,master而不是production从配置文件或CLI参数中使用。

话虽如此,如果您这样做是为了避免production在与Code Manager一起使用时在控件存储库中命名默认的Git分支,那么您实际上应该只是对分支进行重命名,因为这样更容易。