Как добавить внутренние записи DNS в Kubernetes - PullRequest
0 голосов
/ 25 октября 2019

В настоящее время я настраиваю кластер Kubernetes, в котором работают как частные, так и публичные службы. В то время как общедоступные службы должны быть доступны через Интернет (и FQDN), частные службы не должны (идея состоит в том, чтобы запустить VPN внутри кластера, где частные службы должны быть доступны через simple FQDN).

В данный момент я использую nginx-ingress и настраиваю ресурсы Ingress, где я задаю имя хоста для публичных ресурсов. Затем external-dns добавляет соответствующие записи DNS (в Google CloudDNS) - это уже работает.

Проблема, с которой я сталкиваюсь сейчас: я не уверен, как можно добавить записи DNS таким же образом (т.е. просто указав хост в Ingress определениях и используя некоторый входной класс private), но эти записи DNS будут доступны только из кластера.

У меня сложилось впечатление, что я могу добавить эти записина Corefile, который использует CoreDNS. Однако я не могу понять, как это можно автоматизировать.

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 27 октября 2019

Мне удалось решить проблему самостоятельно ... написал небольшое приложение Go, которое следит за Ingress ресурсами и добавляет rewrite правила к Corefile, считываемому CoreDNS соответственно ... работает как чудо:)

PS: Если кто-то хочет использовать инструмент, дайте мне знать. Я рад сделать это с открытым исходным кодом, если есть спрос.

0 голосов
/ 25 октября 2019

Если вы не хотите, чтобы к ним обращались публично, вы не хотите добавлять для них правила доступа. Вход только для маршрутизации внешнего трафика в ваш кластер.

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

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