Ubuntu 如何使用Chef设置/更改主机名?
我在运行模式下只有几个节点,我必须将主机名设置为这些节点 有没有食谱,我们可以设置属性host\u name并在各自的节点上运行该食谱?作者注释 这个答案已经有6年多的历史了 正如@lamont指出的,厨师资源Ubuntu 如何使用Chef设置/更改主机名?,ubuntu,chef-infra,knife,Ubuntu,Chef Infra,Knife,我在运行模式下只有几个节点,我必须将主机名设置为这些节点 有没有食谱,我们可以设置属性host\u name并在各自的节点上运行该食谱?作者注释 这个答案已经有6年多的历史了 正如@lamont指出的,厨师资源 原始答案 有一本社区菜谱。签出我更新的主机名菜谱叉,该菜谱修复了主机名中的一个错误,其中域名被两次附加到FQDN 此外,此分叉允许您将ip设置为节点[“ipaddress”],而不是默认的127.0.1.1或其他静态ip 或 注意:现在有一个基于本答案中厨师长烹饪书的答案,这是每个人
原始答案
有一本社区菜谱。签出我更新的主机名菜谱叉,该菜谱修复了主机名中的一个错误,其中域名被两次附加到FQDN 此外,此分叉允许您将ip设置为节点[“ipaddress”],而不是默认的127.0.1.1或其他静态ip 或 注意:现在有一个基于本答案中厨师长烹饪书的答案,这是每个人都应该使用的 我刚刚发布了厨师烹饪书的初始版本: 要使用它,请在metadata.rb中声明您依赖它:
depends "chef_hostname"
然后在配方代码中,只需使用它提供的hostname
资源来设置主机名:
hostname "foo.example.com"
或者将主机名设置为node.name:
hostname node.name
或设置为您关心使用的任何属性:
hostname node["set_fqdn"]
这本食谱解决了许多悬而未决的问题。包括针对主机名手册打开的所有问题和PRs:
- 正确地支撑软呢帽
- 支持使用hostnamectl的centos7和systemd系统
- 是否对/etc/hosts和/etc/sysctl.conf等文件进行正确的幂等行编辑
- 设置主机名后,节点['fqdn']可以正常工作
- 已经有了相当多的可移植性,稍后我将添加更多的操作系统
- 对于/etc/hosts,默认为节点['ipaddress'],允许调整
- 允许完全禁用/etc/hosts编辑