从节点本身导入木偶清单?

从节点本身导入木偶清单?

我的情况比较特殊。我们的系统团队负责管理主要傀儡主机,开发团队对一切都很满意,但他们想用它来控制台式机上的某些元素,同时仍与中央傀儡主机相连。

因为我们不希望他们所做的更改进入我们的 puppet master,有没有办法让 puppet 直接从节点导入清单?

就像在开发人员的机器上一样,他们放置了一个文件“/root/development.pp”或其他东西,然后在我们的 Puppet Master 上放置了类似的东西

node { "developermachine":
  # Do the majority of normal things
  # import "/root/development.pp"
}

关于对 Puppet 清单的写访问安全性,我们可以采取一些不同的选择,但是如果 Puppet 支持这样的功能,那么它对我们来说可能是最干净的。

任何帮助都值得感激:)

答案1

为什么不推出一个针对已知文件运行 Puppet 代理的 cron.d 条目呢?

即:执行 30 分钟(可能是@reboot)的 cron 作业puppetrun /etc/puppet/userpuppet.pp或类似任务。

你必须非常信任你的用户,但我认为这不是问题。

答案2

Puppet 允许你提供一个脚本来为节点生成配置。请参阅这里了解更多信息和示例。

鉴于此,您可以轻松想出各种替代方法让开发人员设置自己的机器。

答案3

设置一个根 crontab 条目来运行:/usr/bin/puppet apply /root/development.pp

https://puppet.com/docs/puppet/latest/services_apply.html了解更多信息。

更“正确”的做法是在你的 Puppet Master 上创建一个“开发者”环境,并只将开发工作站指向该环境。你甚至可以授予开发人员 git 访问权限以提交到该分支并自动部署,而不会影响你的生产环境。

https://puppet.com/docs/puppet/latest/env_environments.html

http://puppetlabs.com/blog/git-workflow-and-puppet-environments/

相关内容