![](/img/trans.png)
[英]Launching a pod in a different k8s cluster from a pod running in a different k8s cluster
[英]Read IP of k8s pod from application running inside it
我有两个运行的k8s吊舱。 每个吊舱内部都有一个容器。 我的应用程序将在每个容器中运行。 我想直接从Pod1中的应用程序到Pod2中的应用程序进行HTTP调用。
假设我在集群外部拥有某种持久性存储。 所以我的逻辑看起来像这样。
App in Pod1 -> get Pod1 IP address -> save to external storage
App in Pod2 -> read Pod1 IP address from storage -> complete HTTP call to App1 in Pod1
如何从应用程序中获取此IP地址。 我正在使用Java(播放框架)。
您可以通过在Pod清单中放置类似以下内容的方式,将Pod IP(或Pod描述符的任何其他属性)暴露给Pod的环境变量:
env:
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
话虽如此,Yonah的答案很可能是您真正需要的。 服务发现是Kubernetes中的头等公民。
在kubernetes中,有一个称为服务的概念专门针对您要使用的目的而构建。 例如,部署在kubernetes中的前端和后端都可以使用服务名称相互访问。 在您的情况下,为两个Pod创建服务,您应该可以从任何其他Pod访问您的Pod。 除了这种好处,服务还具有更多好处,应该使用。 https://kubernetes.io/docs/concepts/services-networking/service/祝您好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.