доступ к сервису извне - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь запустить службу hello-node и сделать ее доступной извне на azure виртуальной машине с помощью minikube.

minikube start --driver = virtualbox

созданное развертывание

kubectl create deployment hello-node --image = k8s.gcr.io / echoserver

открытое развертывание

kubectl выставляет развертывание hello-node --type = LoadBalancer --port = 8080

предположим, что kubectl get services говорит:

hello-node LoadBalancer 1.1.1.1 8080: 31382 / TCP

IP-адрес publi c виртуальной машины azure 2.2.2.2, частный IP-адрес 10.10.10.10 и IP-адрес виртуального бокса 192.168.99.1/24

Как мне получить доступ к сервису из браузера за пределами сети кластера?

1 Ответ

2 голосов
/ 17 июня 2020

В вашем случае вам нужно использовать --type = NodePort для создания служебного объекта, который предоставляет развертывание. Сервис type = LoadBalancer поддерживается внешними облачными провайдерами.

kubectl expose deployment hello-node --type=NodePort --name=hello-node-service

Отображение информации о сервисе:

kubectl describe services hello-node-service

Результат должен быть похож на этот:

Name:                   example-service
Namespace:              default
Labels:                 run=load-balancer-example
Annotations:            <none>
Selector:               run=load-balancer-example
Type:                   NodePort
IP:                     10.32.0.16
Port:                   <unset> 8080/TCP
TargetPort:             8080/TCP
NodePort:               <unset> 31496/TCP
Endpoints:              10.200.1.4:8080,10.200.2.5:8080
Session Affinity:       None
Events:                 <none>

Запишите значение NodePort для службы. Например, в предыдущем выводе значение NodePort равно 31496.

Получите publi c IP-адрес вашей виртуальной машины. И затем вы можете использовать этот URL:

http://<public-vm-ip>:<node-port>

Не забудьте открыть этот порт в правилах брандмауэра.

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