[英]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.