我正在学习厨师,发现很难理解节点的用法,比如它的用法。
我通过了Chef文档,但仍无法完全理解这些概念。
示例,下面是使用'node'的场景。任何人都可以用简单的术语解释不同场景下节点的用法。谢谢。
情景1:
E(g)
情景2:
V(g)$color <- (V(g) %in% vertices) + 1L
plot(g)
场景3: 通过使用节点属性:
currentUser = node['myusers'][node['myenv'] - 1] #arrays start at 0, doing -1 for 2 pointing to second user
user currentUser do
gid node['mygroup']
home "/home/#{currentUser}"
end
execute "sudoers for #{currentUser}" do
command "echo '#{currentUser} ALL=(ALL) ALL' >> /etc/sudoers"
not_if "grep -F '#{currentUser} ALL=(ALL) ALL' /etc/sudoers"
end
答案 0 :(得分:1)
节点属性是一组嵌套的哈希值。基本上是一个全局变量,它从许多来源(角色,环境,烹饪书,节点本身,Ohai)收集信息,并通过单个API(即全局散列的API)提供这些信息。您如何使用这些数据完全取决于您以及您希望如何编写代码。有些烹饪书使用了大量的节点属性,有些只使用来自Ohai的数据。
答案 1 :(得分:1)
为了理解将Node属性视为字典数据类型,并且在字典中,每个键都有自己的值。同样的方式节点[&#39; platform_family&#39;]将具有debian或centos的值,具体取决于它从ohai获得的值。 ohai通常为节点属性赋值。还有其他方法,例如node.run_state,它可以用来在厨师运行期间动态地为节点[key]赋值。例如node.run_state [weather] = sunny会将节点[天气]值指定为晴天。