Службы контейнеров Azure (AKS) - предоставление контейнеров другим ресурсам VNET

Я использую службы контейнеров Azure (AKS, а не ACS) для поддержки некоторых API - некоторые из которых предназначены для общего пользования, а некоторые - нет.

Для общедоступного маршрута все, как и следовало ожидать, создается служба балансировки нагрузки, связанная с общедоступным IP-адресом, зона DNS содержит нашу запись A для перенаправления на общедоступный IP-адрес, трафик направляется на контроллер NGINX и затем на правильные внутренние конечные точки обслуживания.

В настоящее время предварительная версия назначает новую VNET для размещения группы ресурсов AKS, продвигаясь вперед. Я помещу экземпляр AKS в уже существующую VNET, в которой находятся другие компоненты (службы приложений, в среде служб приложений).

Мой вопрос заключается в том, как предоставить доступ к закрытым API-интерфейсам другим компонентам в той же VNET, а также компонентам в других VNETS?

Я полагаю, что AKS поддерживает балансировщик нагрузки типа ILB, который, я думаю, может быть необходим для маршрутизации трафика из других VNETS? Но как насчет того, где компоненты находятся уже в той же VNET?

Заранее спасибо!

1 ответ

Решение

Если вам нужен доступ к этим службам из других служб за пределами кластера AKS, вам все равно нужен ILB для балансировки нагрузки между службами на разных узлах в кластере. Вы можете использовать ILB, созданный с помощью аннотации в вашем сервисе. Альтернативой является использование NodePort, а затем создание собственного способа распределения трафика по всем узлам, на которых размещаются конечные точки.

Я бы использовал ILB вместо того, чтобы пытаться создать свой собственный, используя типы сервисов NodePort. Единственное, что может быть, - это использовать какой-либо тип виртуальной машины API Gateway внутри вашей виртуальной сети, где вы можете определить внутренний пул, что может быть решением, если вы размещаете API или что-то через сторонний API-шлюз, размещенный на виртуальной машине Azure в той же VNET.

Эдди Вильяльба MCSD: Архитектор решений Azure | CKA: сертифицированный администратор Kubernetes

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