我目前拥有的......
... 是一个具有微服务架构的应用程序,其中不同的服务通过 GRPC 与网关通信,网关提供 REST 端点服务。
我正在 GCP 上部署此系统。目前,每项服务都有一个带有 GKE 工作负载的 Docker 映像。因此,每项服务都公开一个公共 IP 地址和端口。网关也是 GKE 上的 Docker 映像,公开一个公共 IP 和端口。
我想要的是...
... 是用于镜像我本地部署的部署,其中每个服务都通过 与网关通信127.0.0.1:{PORT}
,并且只有网关使用公共 IP 和端口。我希望实现的是限制通过网关以外的方式访问服务。
我怎样才能完成这个任务?
笔记:我仍然希望将服务作为单独的 Git 存储库,因此拥有单独的 Dockerfiles/docker 镜像。
答案1
关于提供的信息,我假设您使用 dockerfile 的“服务”是 pod。Pod 没有外部 IP 地址。
您可以使用带有 Ingress 的负载均衡器为网关 Pod 添加外部 IP。对于其他 Pod,请使用clusterIP 服务这样它们只在集群内公开,并且允许您指定您想要的服务类型。