
Что я имею на данный момент..
... представляет собой приложение с архитектурой микросервисов, в котором различные сервисы взаимодействуют со шлюзом через GRPC, причем шлюз обслуживает конечные точки REST.
Я развертываю эту систему на GCP. В настоящее время каждая служба имеет образ docker с рабочей нагрузкой GKE. Таким образом, каждая служба представлена с публичным IP-адресом и портом. Шлюз также является образом Docker на GKE, представленным с публичным IP-адресом и портом.
Что я хочу...
... развертывание для зеркалирования моего локального развертывания, где каждая служба взаимодействует со шлюзом через 127.0.0.1:{PORT}
, и только шлюз использует публичный IP и порт. Я надеюсь добиться ограничения доступа к службам, кроме как через шлюз.
Как мне это сделать?
ПРИМЕЧАНИЕ: Я по-прежнему хочу, чтобы сервисы были отдельными репозиториями Git, то есть имели отдельные Dockerfiles/образы Docker.
решение1
Что касается предоставленной информации, я предполагаю, что ваши "сервисы", использующие dockerfiles, являются pod'ами. У pod'ов нет внешних IP-адресов.
Вы можете использоватьБалансировщик нагрузки с Ingressчтобы добавить внешний IP для шлюза pod. Для других pod используйтеслужба clusterIPтаким образом, они будут доступны только в пределах кластера, и это позволит вам указать, какой тип сервиса вам нужен.