如何在Kubernetes中发生两个不同豆荚之间的通信?
在我的情况下,我有两个豆荚: 前端 和 后端,两者都有不同的容器。 我希望我的前端pod与后端pod通信,但我不想使用后端pod的IP(即硬编码)。
是否有可能通过服务?
如何在Kubernetes中发生两个不同豆荚之间的通信?
在我的情况下,我有两个豆荚: 前端 和 后端,两者都有不同的容器。 我希望我的前端pod与后端pod通信,但我不想使用后端pod的IP(即硬编码)。
是否有可能通过服务?
是否有可能通过服务?
是, 服务 是推荐的处理方法。为每个pod(或复制控制器,如建议)设置服务后,您可以通过以下方式找到服务IP 服务环境变量,例如 BACKEND_SERVICE_HOST
和 BACKEND_SERVICE_PORT
用于“后端”服务。
建议的方法是使用DNS群集加载项: http://kubernetes.io/docs/user-guide/services/#dns
来自'留言簿'应用的示例:
他们使用: $host = 'redis-master';
作为与...通信的默认方法 redis-master
荚。
其中定义了 redis-master-service.yaml
: https://github.com/kubernetes/kubernetes/blob/3574999fa34d54c47f43efd9eaff7e1c571c7910/examples/guestbook/redis-master-service.yaml