【问题标题】:Chef node/client submits its own tag to chef serverChef节点/客户端将自己的标签提交给厨师服务器
【发布时间】:2016-08-27 04:26:10
【问题描述】:

厨师客户端是否有可能通知厨师服务器它的新标签/角色?先感谢您。

【问题讨论】:

    标签: tags chef-infra


    【解决方案1】:

    技术上是的,但我们今天实际上是在谈论弃用此功能,所以也许不是? node.tag('foo') 将该标签添加到节点。但同样,不要这样做。

    【讨论】:

    • 节点是否有其他选项可用于标记自身或管理其自己的运行列表?
    • 标签是,运行列表没有。奇怪的是,我今天刚刚发布了一篇关于为什么节点不应该能够更改其运行列表的内容:coderanger.net/chef-and-vault(也适用于 Vault 之外的很多东西)
    • 我了解让节点修改其 run_list 背后的安全问题,但它消除了卸载服务的能力。例如,我们可能会将 jenkins 代理投放到在短时间内未使用其所有资源的机器上,然后将其卸载。当我们删除 jenkins 时,我们不能只删除角色 - 我们必须添加 jenkins::uninstall 类型的配方。卸载配方将自身从 run_list 中删除。该解决方案将消失 - 是否有替代方案的计划?
    • 从运行列表中删除某些内容并不会在今天将其卸载,您始终需要明确的删除或卸载方法。这就是 Chef(或者更确切地说基于 Promise 理论的系统)的工作原理。
    • 并且将::uninstall 配方留在运行列表中通常是无害的,如果您将代码编写为幂等和收敛的,它将继续确保服务被卸载,这应该是一个无操作希望在第一次之后。您可以改为在管理脚本中执行 GC 清理(或者干脆不打扰)。
    猜你喜欢
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多