最近,我在CoreOS上创建了一个DigitalOcean液滴。一切运行良好,除了我无法更改VPS的主机名这一事实。当我将主机名更改为它应该使用的sudo hostnamectl set-hostname myhostname.org (所记录的方法)时,它确实在系统范围内更改了主机名(例如,/etc/hostname反映了新的主机名)。但是,当我重新启动VPS时,主机名会恢复到以前的状态。
这可能不是巧合,但是主机名总是恢复到液滴的原始名称。大约一周前我已经把那个名字改成了正确的主机名。我读过关于DHCP在重启时影响主机名的故事,但我无法在CoreOS上找到避免这种情况的解决方案。
如何更改CoreOS的主机名,使其在重新启动后保持不变?
提前感谢!
发布于 2015-02-02 13:39:28
在DigitalOcean (和其他一些云提供商;例如Openstack )上,它们在机器的每次引导上都提供元数据(要么通过DigitalOcean -config提供,要么通过您在DigitalOcean web接口中提供的选项提供)。当您将名称赋予droplet/VM时,您向元数据服务表示您希望主机名被调用该值。config正在响应DigitalOcean元数据服务提出的请求。这实际上是一种设计模式,在它之外的操作就像试图避免在Rails中使用约定而不是配置一样。你能做到,但你只会让事情变得更难。
在DigitalOcean web界面中,您可以重命名液滴->“设置”->“重命名”
至于为什么前面的答案中的选项不存在,CoreOS不需要用编译语言重写Python 云中 (因此它是用去编写的)。若要查看DigitalOcean日志上的元数据,请进入主机并运行以下命令:
$ curl http://169.254.169.254/metadata/v1/user-datahttps://serverfault.com/questions/664103
复制相似问题