我使用RPC协议app作为微服务,并在它们前面使用API网关作为代理。
现在我想使用k8s部署微服务,k8s网关在k8s集群之外,RPC微服务由k8s部署,我的集群中有三个副本。
我的问题是如何直接访问K8S的pod,因为我必须构建一个连接池来容纳这些连接,例如,我有三个RPC微服务pod。
这是我的架构architecture image
发布于 2017-11-03 20:49:50
您不应该直接从pod使用RPC微服务,而应该通过Kubernetes服务来使用。
首先,您必须将您的RPC公开为一个公共K8S服务,这将为您提供一个侦听端口。通过集群的IP (当然可以不止一个)和该端口,您将能够使用您的RPC微服务。
查看文档以了解如何公开它:
https://kubernetes.io/docs/concepts/services-networking/service/
您可以通过hostNetwork配置参数直接访问实例。然而,Kubernetes并不推荐这样做:https://kubernetes.io/docs/concepts/configuration/overview/
如果您需要在副本之间保持共享会话或类似的东西,我会使用另一个外部组件,如Redis或类似的组件。
https://stackoverflow.com/questions/47096064
复制相似问题