Как контролировать файл / etc / hosts от перезаписи - PullRequest
0 голосов
/ 16 октября 2018

Я развертываю кластер Kops Kubernetes на AWS с образом Debian Jessie.

Моя среда представляет собой гибридную среду, в которой мой артефакт находится в физической среде в нашем DC.Теперь я столкнулся с проблемой: мои рабочие узлы не могут извлекать изображения из моего артефакта, если я не укажу полное доменное имя и IP-адрес артефакта в файле / etc / hosts.

Так что это ручное редактирование, оно работаетвсе хорошо после того, как я это сделаю.Поэтому я продолжил и добавил данные в мои дополнительные userdata группы рабочих узлов Kops, но я вижу, что через некоторое время файл hosts на рабочих узлах перезаписывается, и это также становится очевидным после перезагрузки узла.

Так, как я могу решить это !!

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Другой обходной путь для этого - поместить его в файл /etc/rc.local:

Если файл существует, добавьте его в конец:

echo '<ip-address-of-artifactory> <fqdn-of-artifactory>' >> /etc/hosts

Еслифайл не существует, создайте его:

$ cat << EOF > /etc/rc.local
#!/bin/sh -e
#
echo '<ip-address-of-artifactory> <fqdn-of-artifactory>' >> /etc/hosts
EOF
$ chmod 755 /etc/rc.local
$ reboot # check that it works
0 голосов
/ 16 октября 2018

Ответ real - запустить собственный DNS-сервер или, по крайней мере, использовать DNS-имена хостов для разрешения.Если ваш маршрутизатор поддерживает это, вы можете установить локальные имена хостов (machine-1.local)

Если это невозможно, вы можете попробовать такое решение, как puppet , если у вас есть виртуальные машины,Кроме того, я считаю, что у Kubernetes есть аддон DNS.Кроме того, вы можете использовать crontab для загрузки при записи в файл hosts, но это грязное решение.

Кроме того, файл hosts будет перезаписываться при каждом обновлении DHCP.Вы можете использовать статические IP-адреса, но опять же, DNS - это путь.

...