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

как я могу настроить браузер Google Cloud SSH, чтобы не менять имя хоста?

Когда вы создаете новый экземпляр, например «my-instance-1», это означает, что имя хоста вашего экземпляра также будет «my-instance-1»!.

Проблема в том, что когда вы меняете имя хоста, например, на «myhostname.mydomain.net», каждый раз, когда вы используете инструмент браузера Google SSH или обновляете экземпляр, имя хоста будет автоматически изменено на «my-instance-1» !.

Почему инструмент браузера Google SSH меняет имя хоста экземпляра?

Вы можете указать собственные имена хостов в экземплярах виртуальных машин.

Есть 2 простых способа.

  1. Создайте имя хоста для записи настраиваемых метаданных со значением my.hostname.com

Затем я вызываю его на своих серверах centos следующим образом:

hostname $(curl --silent "http://metadata.google.internal/computeMetadata/v1/instance/attributes/hostname" -H "Metadata-Flavor: Google")

Результат - имя хоста, установленное в соответствии с вашими метаданными.

  1. Через службу Google DHCP, которая назначает ваш статический внутренний IP-адрес

Я создаю файл "google_hostname.sh" в "/etc/dhcp/dhclient.d" (с использованием CentOS). Содержимое файла выглядит так:

#!/bin/bash
google_hostname_config() {
  google_set_hostname
}
google_hostname_restore() {
  :
}

В результате, когда Google назначает ваш эфемерный внутренний IP-адрес при перезагрузке, он также выполняет имя хоста.

Дополнительная информация: Следующие статья объясняет, что «имя хоста» является частью записей метаданных по умолчанию, и что невозможно вручную изменить любую из пар метаданных по умолчанию. Таким образом, вам нужно будет использовать сценарий или что-то еще, чтобы изменять имя хоста каждый раз при перезагрузке системы, иначе он будет автоматически повторно синхронизироваться с сервером метаданных при каждой перезагрузке.

Вы можете найти информацию о сценариях запуска для GCE в Эта статья. Вы можете посетить вот этот для получения информации о том, как применить сценарий к экземпляру.

На моих виртуальных машинах CentOS я обнаружил, что сценарий /etc/dhcp/dhclient.d/google_hostname.sh, установленный google-compute-engine RPM фактически изменил имя хоста. Это происходит, когда экземпляр получает свой IP-адрес во время загрузки.

Хотя это не то долгосрочное решение, которое мне действительно нужно, на данный момент я просто удалил этот скрипт. Имя хоста, которое я установил с hostnamectl теперь сохраняется после перезагрузки.

Скорее всего, сценарий будет точно в том же месте на виртуальных машинах Debian / Ubuntu, но, конечно, я не запускаю ни одного из них.