Простой вопрос, который я пытаюсь понять, как работает логика 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-адреса, который можно сделать внешним?
Любое разъяснение, которое я пропускаю, очень ценится.