我在运行模式下的节点很少,我必须为这些节点设置主机名。
是否有任何食谱,因为我们可以设置属性 host_name 并在各个节点上运行该食谱?
注意:现在chef-client 本身中有一个主机名资源,它基于此答案中的 chef_hostname 食谱,这是每个人都应该使用的
我刚刚发布了一份 chef_hostname 食谱的初始版本:
https://supermarket.chef.io/cookbooks/chef_hostname
要使用它,请在 metadata.rb 中声明您依赖它:
depends "chef_hostname"
然后在您的配方代码中,只需使用hostname
它提供的资源来设置主机名:
hostname "foo.example.com"
或者将主机名设置为 node.name:
hostname node.name
或设置为您关心使用的任何属性:
hostname node["set_fqdn"]
这本食谱解决了许多悬而未决的问题。包括针对主机名说明书打开的所有问题和 PR:
查看我更新的主机名说明书的分支,它修复了主机名中的一个错误,即域名被两次附加到 FQDN。
此外,此分支允许您将 ip 设置为 node["ipaddress"] 而不是默认的 127.0.1.1 或其他一些静态 ip。
https://github.com/nathantsoi/chef-cookbook-hostname
或者