kubernetes带有API网关的RPC微服务

时间:2017-11-03 12:40:54

标签: kubernetes rpc aws-api-gateway

我使用RPC协议应用程序作为微服务 以及作为代理的API网关。

现在我想使用k8s部署微服务,API网关不在k8s集群中,RPC微服务由k8s部署,我的集群中有三个副本RPC微服务。

我的问题是如何直接访问k8s的pod,因为我必须构建一个连接池来保存这些连接,例如,我有三个RPC微服务pod。

这是我的架构 architecture image

1 个答案:

答案 0 :(得分:1)

您不应直接从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或类似的东西。