Добавление сервера доменных имен в Google Container Optimized OS

Я хотел бы добавить наш собственный сервер имен доменов в COS. Как мне это сделать?

Это просто создать следующее в /etc/dhcp/dhclient.conf:

  prepend domain-name-servers <domain ip>;

Я добавил указанную выше конфигурацию, но по-прежнему не могу использовать свой домен в экземпляре COS VM. Есть что-то, что я пропустил?

Как перезапустить сетевой адаптер в COS без сброса/перезагрузки?

Попробуйте этот «systemctl перезапустить google-network-daemon.service», чтобы перезапустить сетевую службу, и «статус systemctl google-network-daemon.service», чтобы увидеть текущий статус

Mahboob 24.12.2020 18:30

Спасибо. Что помогает. Знаете ли вы, как я могу добавить свой домен поверх Google DNS 169.254.169.254? Конфигурация prepend работает на виртуальной машине CentOS, но не работает на виртуальной машине COS. Есть идеи ?

jlim 24.12.2020 20:17

Не изменять /etc/dhclient.conf. Это перезаписывается при каждом обновлении DHCP. COS заблокирован, вы не можете изменить конфигурацию ОС.

John Hanley 24.12.2020 23:10

Спасибо, Джон. Я думаю, единственный способ — изменить конфигурацию внутри контейнера, работающего на хосте COS.

jlim 25.12.2020 00:08
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
4
406
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

COS использует "cloud-init". Если вы хотите добавить DNS-сервер в качестве подобных конфигураций в COS, вы должны использовать cloud-init как способ настройки своего экземпляра при его загрузке. Инструмент cloud-init ожидает свою конфигурацию в значении ключа пользовательских данных метаданных экземпляра. Для получения дополнительной информации1

Чтобы передать конфигурации cloud-init в экземпляр, вам нужно создать свой экземпляр с флагом: --metadata-from-file user-data=[имя файла] или добавить пару ключ-значение user-data=[имя файла] к экземпляру из консоли, где файл будет храниться во внешнем расположении, таком как облачное хранилище, которому вы предоставите URL-адрес. Также можно просто скопировать конфигурацию в раздел значений при настройке метаданных. Примеры конфигураций для указания серверов имен и доменов можно найти по следующей ссылке.

Заменив значение конфигурации yaml в метаданных (но сохранив ключ «user-data») следующей конфигурацией, вы можете настроить resolv.conf для использования пользовательских серверов имен и заставить экземпляр использовать эти серверы имен для разрешения адресов.

В качестве примера вы можете создать файл с именем cloud-config-resolv, содержащий следующее:

#cloud-config

write_files:
- path: /etc/systemd/resolved.conf
permissions: "0644"
owner: root:root
content: |
# This is my custom resolv.conf!
[Resolve]
DNS= 8.8.8.8 (Use your IP)

runcmd:
- ['systemctl', 'restart', 'systemd-resolved']

Затем вы можете запустить следующую команду, чтобы добавить [Ваш-IP] в файл resolv.conf.

gcloud compute instances create instance-name \
--image-family cos-stable \
--image-project cos-cloud \
--metadata-from-file user-data=cloud-config-resolv \
--zone us-central1-a

Я не уверен, что он сохранится через 24 часа, так как аренда dhcp продлевается и все изменения очищаются. Но файл сохраняется после перезапуска сетевого демона и перезапуска виртуальной машины.

Насколько я знаю, /etc в COS не имеет гражданства. Если виртуальная машина сброшена, изменения исчезнут. Его необходимо перенастроить с помощью cloud-init через метаданные. Ваши решения кажутся рабочими, но я не уверен, есть ли какой-либо побочный эффект. На данный момент разрешение имен работает между OnPrem и GCP VM после внесения предложенных вами изменений. Я не видел никаких проблем до сих пор. Я подожду 24 часа, чтобы посмотреть, не случится ли что-нибудь плохое. По словам Джона, он прав, но я не уверен, насколько отличается это решение с добавлением dhcp, о котором я упоминал ранее. Приведет ли это изменение к непригодности внутреннего DNS 169.254.169.254?

jlim 25.12.2020 16:45

@jlim Надеюсь, узел работает правильно. Я не заметил никаких документов, касающихся внутренней проблемы DNS.

Mahboob 26.12.2020 05:40

Все идет нормально. Работает 2 дня без нареканий. Конфликтов с внутренним DNS Google не наблюдалось 169.254.169.,254. Я пока буду придерживаться этого решения. Спасибо

jlim 26.12.2020 16:50

Другие вопросы по теме