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

时间:2013-08-28 09:33:57

标签: ubuntu chef knife

我在运行模式下有很少的节点,我必须为这些节点设置主机名。

有没有Cookbook,因为我们可以设置属性host_name并在各个节点上运行该配方?

3 个答案:

答案 0 :(得分:5)

有一个社区hostname食谱。

答案 1 :(得分:1)

检查我更新的主机名食谱分叉,它修复了主机名中的一个错误,其中域名被附加到FQDN两次。

此外,此fork允许您将ip设置为节点[" ipaddress"],而不是默认的127.0.1.1或其他一些静态IP。

https://github.com/nathantsoi/chef-cookbook-hostname

https://supermarket.getchef.com/cookbooks/hostnames

答案 2 :(得分:0)

我刚刚发布了chef_hostname cookbook的初始版本:

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"]

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

  • 正确支持fedora
  • 支持使用hostnamectl
  • 的centos7和systemd系统
  • 确实纠正了/ etc / hosts和/etc/sysctl.conf等文件的幂等行编辑
  • node ['fqdn']在设置主机名后正常工作
  • 已经非常便携了,我将在稍后添加更多操作系统
  • 默认为/ etc / hosts的node ['ipaddress'],允许调整
  • 允许完全禁用/ etc / hosts编辑