Cloud-init nocloud 从 dhcp 动态设置主机名

Cloud-init nocloud 从 dhcp 动态设置主机名

我最初的想法是不要从我正在配置的 ubuntu 服务器 18.04.1 禁用 cloud-init,但我想如果我无法解决这个问题,我就会这么做。

问题是我从 DHCP 服务器动态设置主机名。然而,尽管我得到 systemd-hostname 提示说新主机名已设置,但事实并非如此,因为每次重启后它都会恢复为原先的主机名。

我尝试修改默认的 cloud-init 种子以删除主机名行,但结果还是一样。有什么想法吗?

# cloud-init clean
# modify user-data removing hostname
# cloud-init init
# reboot

答案1

看来您需要设置/etc/hostnamelocalhost才能考虑 DHCP 主机名。请参阅context_update_kernel_hostname()hostnamed (https://github.com/systemd/systemd/blob/master/src/hostname/hostnamed.c#L267)。

如果您已经hostname从中删除了任何行,/var/lib/cloud/seed/nocloud[-net]/user-data那么 cloud-init 就不应该再干扰主机名了。请确保您还运行sudo cloud-init clean以从 cloud-init 中删除任何缓存数据。

相关内容