Обновить поисковые домены по умолчанию в модулях - PullRequest
0 голосов
/ 02 августа 2020

Когда я exec вхожу в контейнер, я вижу файл /etc/resolv.conf, который выглядит следующим образом:

$ cat /etc/resolv.conf
search namespace.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.43.0.10
options ndots:5

Как мне добавить в поисковые домены все развернутые контейнеры, чтобы поиск домены будут включать дополнительные домены? например, если бы я хотел добавить foo.com и bar.com по умолчанию для любого модуля , как я могу обновить строку поиска, чтобы она выглядела как показано ниже?

search namespace.svc.cluster.local svc.cluster.local cluster.local foo.com bar.com

Примечания:

  • Это самоуправляемый кластер k8s. Я могу обновить конфигурацию DNS / кластера, но мне это нужно. Я уже обновил компонент coredns, чтобы правильно разрешать серверы имен, но этот параметр необходимо применить к каждому модулю, который, как я могу себе представить. но это не было бы отличным решением, так как его нужно было бы добавить в каждый манифест модуля (или развертывания / задания / репликации / et c) в системе. Мне нужно, чтобы это применялось ко всем модулям по умолчанию.

  • Из-за того, как имена хостов возвращаются в многочисленных существующих службах, я не могу разумно ожидать, что имена хостов будут полностью определенными именами доменов. Это попытка сохранить обратную совместимость со многими сервисами, которые у нас уже есть (например, запрос LDAP может возвращать хост fizz, но поиск должен полностью разрешить fizz.foo.com). Именно так здесь обычно настраиваются «голые» машины и виртуальные машины.

1 Ответ

1 голос
/ 03 августа 2020

Я нашел возможное решение, но я не буду отмечать его как правильное, потому что это не было напрямую c для k8s, а скорее для k3s. Я мог бы вернуться позже и предоставить больше

В моем случае моим тестовым кластером был сервис k3s, который, как я предполагал, будет действовать в основном так же, как k8s. Моя среда была настроена так, что мой обычный /etc/resolv.conf заменялся новым файлом на узле. Мне удалось обойти эту проблему, указав --resolv-conf, где файлы выглядят следующим образом:

$ cat /somedir/resolv.conf
search foo.com bar.com
nameserver 8.8.8.8

Затем запустите сервер с помощью /bin/k3s server --resolv-conf=/somedir/resolv.conf

Теперь, когда модули создаются, k3s будет проанализируйте этот файл на наличие строки search и автоматически добавите поисковые домены к любому созданному модулю.

Я не уверен, что снова столкнусь с этой проблемой, когда попробую это на реальных k8s , но, по крайней мере, это заставит меня снова заработать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...