使用Chef如何设置/更改主机名?

5

我有一些运行中的节点,我需要将主机名设置为这些节点。

是否有任何厨房书可以在其中设置属性host_name并在各自的节点上运行该食谱?


嗨,我正在寻找同样的东西。你能帮我解释一下如何使用那个配方吗? - user3086014
有一个社区hostname的菜谱。 - Gaurav Borole
3个回答

5

作者注

本答案已有6年历史。

正如@lamont所指出的,chef 现在支持主机名资源。


原始回答

有一个社区hostname食谱。

(Note: "hostname" should be translated based on context, as it may refer to a specific website or server name.)

如何在CentOS上使用这个配方? - user3086014
我们需要做出哪些更改? - user3086014
@user3086014,文档中没有列出CentOS作为受支持的操作系统。但是测试厨房文件确实使用CentOS-6.4测试了这个烹饪书,并且默认配方包含CentOS逻辑。你试过这个烹饪书吗? - Mark O'Connor
我还没有尝试过这本食谱!!我无法成功上传它。我不知道如何使用它。 - user3086014
@user3086014请发布一个新的问题并附上您的错误信息。无法加载菜谱似乎是一个更基本的问题。 - Mark O'Connor
1
现在,chef-client已经具备了内置的主机名资源。请参阅https://docs.chef.io/resource_hostname.html。 - lamont

2
注意:现在Chef客户端本身有一个主机名资源(hostname resource),它是基于此答案中的chef_hostname cookbook开发的,这是每个人都应该使用的。
我刚发布了一个chef_hostname cookbook的初始版本: https://supermarket.chef.io/cookbooks/chef_hostname 要使用它,请在metadata.rb中声明依赖关系。
depends "chef_hostname"

然后在您的配方代码中,只需使用提供的hostname资源来设置主机名:

hostname "foo.example.com"

或者将主机名设置为节点名称:

hostname node.name

或者设置为您关心的任何属性:

hostname node["set_fqdn"]

这本食谱解决了许多未解决的问题,包括针对主机名食谱开放的所有问题和PR:

  • 正确支持Fedora
  • 支持CentOS7和使用hostnamectl的systemd系统
  • 正确进行不变行编辑,例如/etc/hosts和/etc/sysctl.conf文件
  • 在设置主机名后,node['fqdn']正常工作
  • 已经更加可移植,并且稍后我将添加更多操作系统
  • 默认为node['ipaddress']用于/etc/hosts,允许调整
  • 允许完全禁用/etc/hosts编辑

1

感谢您的贡献/修复。 - j15e

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接