Почему служба Google Cloud получает внешний IP-адрес, только когда вы открываете службу, а не при запуске команды container image kubectl - PullRequest
0 голосов
/ 02 мая 2020

Простой вопрос, который я пытаюсь понять, как работает логика Google Cloud c.

Я понимаю, что когда вы выполняете -

kubectl run mycontainer --image=PATH_TO_IMAGE --port=80 

, вы создаете контейнер, который предоставив порт 80. Затем, если вы захотите sh выставить службу об этом контейнере, вы сможете выполнить -

kubectl expose deployment mycontainer --target-port=8080 --type=LoadBalancer --name=my-service

Вы в основном маршрутизируете все входящие трафики c от службы, на которую вы попали порт 80, к образу контейнера на порту 8080. Другими словами, именно так веб-сервер, отвечающий на трафик c в 8080, отвечает на HTTP-запрос в порту 80.

Пока все хорошо.

Мой единственный вопрос: почему Google Cloud ТОЛЬКО назначает внешний IP-адрес вашим службам после создания развертывания (то есть запускает вторую команду)?

Если я уже создать модуль и выставить его в порту 80 - разве у него уже нет потенциального IP-адреса, который можно сделать внешним?

Любое разъяснение, которое я пропускаю, очень ценится.

...