Не удается получить доступ к частному кластеру AKS с локального компьютера (в домашней сети), подключенного к Azure VPN

У меня есть частный кластер AKS, развернутый в виртуальной сети в Azure. После того, как я его развернул, по умолчанию были созданы частная конечная точка и частная зона DNS, что сделало кластер доступным с виртуальных машин, которые являются частью одной и той же виртуальной сети. (У меня виртуальная машина развернута в той же виртуальной сети, что и кластер AKS, и в ней работают команды kubectl.)

Мое требование состоит в том, что я хочу выполнять команды kubectl со своего локального компьютера (подключенного к моей домашней сети), а также подключенного к VPN, которая подключается к VNET.

Моя машина может взаимодействовать с ресурсами в виртуальной сети, но не может разрешить полное доменное имя частного кластера.

Я где-то читал, что установка DNS-сервера пересылки в той же виртуальной сети может помочь разрешить DNS-запросы, сделанные с локального компьютера, которые затем могут быть разрешены с помощью Azure DNS. Это способ сделать это? Или есть способ лучше решить эту проблему?

Было бы действительно полезно, если бы кто-нибудь мог дать мне план действий для решения этой проблемы.


person gamechanger    schedule 30.04.2021    source источник


Ответы (1)


Лучший способ выполнять команды kubectl с локального компьютера на частный кластер AKS - использовать Команда запуска AKS (предварительная версия). Эта функция позволяет удаленно вызывать команды в кластере AKS через AKS API. Эта функция предоставляет API, который позволяет, например, выполнять своевременные команды с удаленного портативного компьютера для частного кластера. Перед его использованием вам необходимо включить флаг функции RunCommandPreview в вашей подписке и установить расширение aks-preview локально. Однако существует ограничение, заключающееся в том, что AKS-RunCommand не работает в кластерах с AAD, управляемым AKS, и включенными частными ссылками.

В этом случае, если вы хотите разрешить полное доменное имя частного кластера из своей локальной сети, вы можете выбрать использование либо локального файла hosts (используется для тестирования), либо пересылки DNS для переопределения разрешения DNS для частной ресурс ссылки, например это.

Сервер пересылки DNS будет отвечать за все запросы DNS через сервер пересылки на уровне сервера к DNS, предоставленному Azure 168.63.129.16. Вы можете подготовить виртуальную машину Windows IaaS с ролью DNS или виртуальную машину Linux с привязкой, настроенной как сервер пересылки DNS. В этом шаблоне показано, как создать DNS-сервер. который перенаправляет запросы на внутренние DNS-серверы Azure для виртуальной машины Linux. См. это для DNS-сервера пересылки на виртуальной машине Windows.

Если в вашей локальной сети есть внутренний DNS-сервер. Локальное решение DNS должно перенаправлять трафик DNS в Azure DNS через сервер условной пересылки для ваших общедоступных зон DNS (например, {region}.azmk8s.io). Сервер условной пересылки ссылается на сервер пересылки DNS, развернутый в Azure. Вы можете прочитать этот блог о разделах конфигурации DNS. Больше подробностей.

person Nancy Xiong    schedule 03.05.2021