我刚开始使用 Chef,我注意到在一些食谱中有类似node['cpu']['total']
.
我在问题和在线搜索“厨师节点属性”之类的东西,但我找不到可用节点属性的列表。
我正在寻找的是:
- 都是
node[...]
自动定义的吗? - 在哪里可以找到所有可用节点属性(cpu ...)的列表?
我刚开始使用 Chef,我注意到在一些食谱中有类似node['cpu']['total']
.
我在问题和在线搜索“厨师节点属性”之类的东西,但我找不到可用节点属性的列表。
我正在寻找的是:
node[...]
自动定义的吗?所有 node[...] 都是自动定义的吗?
不,其中一些是 Ohai 在厨师跑步开始时设定的。其中一些是由食谱的(默认)属性设置的,其中一些在系统中的不同位置被覆盖(例如角色,其他食谱,...)
在哪里可以找到所有可用节点属性(cpu ...)的列表?
这取决于您正在运行的系统、您安装了哪些 ohai 插件以及您的运行列表中有哪些食谱。要获得基本 Ohai 属性的完整列表,您可以简单地ohai
在 shell 上执行,它将输出所有自动属性。对于其他人,您必须查看您的食谱。
有关文档参考,请查看Chef 文档。我链接了一个很好的起点,但真正理解属性有点复杂,因为它是一个相当灵活(因此也很复杂)的系统。您应该浏览一些文档。
啊! 因此,设置属性的是Ohai配方/插件。特别是linux/cpu 插件。
将来可能会对其他人有所帮助:
节点的所有自动属性列表:(取决于 ohai 插件版本)
Ohai 在每次运行 chef-client 开始时收集的自动属性列表因组织而异,并且通常会因配置的各种服务器类型和运行这些服务器的平台而异。Ohai 收集的所有属性都不能被厨师客户修改。要查看 Ohai 为特定节点收集了哪些自动属性,请运行以下命令:
find /opt/chefdk/embedded/lib/ruby/gems/*/gems/ohai-*/lib -name "*.rb" -print | xargs grep -R "provides" -h |sed 's/^\s*//g'|sed "s/\\\"/\'/g"|sort|uniq|grep "^provides"