Назад | Перейти на главную страницу

Имя хоста CoreOS при перезагрузке

Недавно я создал каплю CoreOS на DigitalOcean. Все работает хорошо, за исключением того факта, что я не могу изменить имя хоста своего VPS. Когда я меняю имя хоста на то, что он должен использовать sudo hostnamectl set-hostname myhostname.org (документированный способ сделать это), он действительно изменяет имя хоста в масштабе всей системы (например, /etc/hostname отражает новое имя хоста). Однако, когда я перезагружаю VPS, имя хоста возвращается к тому, что было раньше.

Возможно, это не совпадение, но имя хоста всегда возвращается к исходному имени капли. Я уже изменил это имя около недели назад на правильное имя хоста. Я читал истории о влиянии DHCP на имя хоста при перезагрузке, но я не могу найти решение, чтобы избежать этого в CoreOS.

Как изменить имя хоста CoreOS таким образом, чтобы оно оставалось прежним после перезагрузки?

Заранее спасибо!

В DigitalOcean (и некоторых других облачных провайдерах; например, Openstack) они предоставляют метаданные при каждой загрузке машины (либо через облачную конфигурацию, либо через параметры, которые вы указали в веб-интерфейсе DigitalOcean). Когда вы присвоили имя капле / виртуальной машине, вы указали службе метаданных, что хотите, чтобы имя хоста называлось этим значением. cloud-config выполняет запрос службы метаданных DigitalOcean. На самом деле это шаблон проектирования, и мне бы хотелось, чтобы он работал вне его. избегать Соглашение uing о конфигурации в Rails. Вы можете это сделать, но вы только усложняете себе жизнь.

Внутри веб-интерфейса DigitalOcean вы можете переименовать каплю. Выберите «Капля» -> «Настройки» -> «Переименовать».

Что касается того, почему вариант в предыдущем ответе не существует, CoreOS не поставляет Python cloud-init пришлось переписать на компилируемом языке (следовательно, он был написан на Идти. Чтобы просмотреть метаданные в DigitalOcean, войдите в хост и выполните команду:

$ curl http://169.254.169.254/metadata/v1/user-data