【问题标题】:Blacklist attributes sent to the Chef server发送到 Chef 服务器的黑名单属性
【发布时间】:2014-08-28 00:15:11
【问题描述】:

由于我的厨师节点上存在大量用户和组,运行 chef-client 会将所有信息发送到厨师服务器,从而导致性能问题。

我可以通过在 client.rb 上添加类似这样的内容轻松地将属性列入白名单:automatic_attribute_whitelist ["etc/group"]

有没有办法将一组特定的属性列入黑名单,以免发送到 Chef 服务器?

【问题讨论】:

  • 什么类型的属性?
  • 我只需要排除在每个节点收敛期间发送的 etc/group 和 etc/passwd 节点属性。白名单意味着您指定要保留的属性。如果我可以简单地排除两个属性而不担心其余的属性,那会简单得多。
  • 你为什么不直接禁用那个特定的 Ohai 插件呢? stevendanna.github.io/blog/2013/04/13/passwd-min-ohai-plugin
  • 成功了。将其作为答案提交,以便我接受(尽管这更多的是一种解决方法,并没有指定厨师是否真的支持列入黑名单的节点属性)。

标签: chef-infra ohai-gem


【解决方案1】:

我所有的 cmets,作为答案(加上实际答案)。

如果您没有使用这些属性或未连接到 AD,您可以disable the Ohai plugin for passwd

如果您希望 node 对象上的属性可用,但不保留回服务器,您可以在说明书中执行以下操作:

class Chef
  class Node
    alias_method :old_save, :save

    def save
      self.default_attrs.delete(:key)
      self.normal_attrs.delete(:other_key)
      self.override_attrs.delete('...')
      self.automatic_attrs.delete('...')
      old_save
    end
  end
end

如果属性列表很长,这会很烦人,所以 IRCCloud 为它制作了一本食谱:

【讨论】:

  • 优秀推荐。
猜你喜欢
  • 1970-01-01
  • 2015-03-22
  • 2012-09-27
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-08
相关资源
最近更新 更多