У меня есть существующая Azure VNET с межсетевым шлюзом VPN для точной подготовки ресурсов.Это прекрасно работает, и виртуальные машины в VNET могут получать доступ к внутренним ресурсам и быть доступными для Интернета.
Я создал кластер Kubernetes в указанной VNET и развернул несколько модулей, предоставляемых через LoadBalancer.
Модули могут иметь доступ к Интернету, и они могут получить доступ как к ресурсам vnet, так и к местным ресурсам (хорошо).Стручки доступны из предварительной сети (хорошо).Но LoadBalancer (даже если он указывает публичный IP) не доступен из Интернета.Я могу получить к нему доступ (общедоступный IP-адрес LB) изнутри виртуальной сети, но не из Интернета.
Я создал идентичный кластер, но позволил ему создать собственный VNET, и там он работает нормально.Просто когда я помещаю его в свой существующий VNET с VPN-шлюзом, я не могу связаться с ним.
kubectl get service -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 1h <none>
mail2servicebus LoadBalancer 10.0.187.136 xx.xx.xx.xx 25:31459/TCP 1h app=mail2servicebus
VNET подключается к другому VNET в дополнение к VPN-шлюзу, если это как-то связано.