2016-11-08 51 views
0

我已經開始3個不同的吊艙(以GKE):Kubernetes:如何發現鄰居莢

kubectl run ubuntu --image myimage --namespace misko -r 3 --command -- /some/binary --bind-to-port 1234 

現在我需要發現主機名/它需要連接到那些3從4莢的豆莢IP地址節點。

有沒有可能這樣做?

回答

0

這將創建一個Deployment,它將控制Pod的行爲和副本,但您必須爲此部署創建一個服務,以便公開羣集內部或外部的端口。

kubectl expose deployment ubuntu --port=1234 --target-port=1234 

之後,你可以使用該服務名和端口號訪問莢循環賽:

ububtu:1234 

如果其他吊艙這是一個不同的命名空間,您可以使用完整的DNS而不是:

ubuntu.misko.svc.cluster.local:1234 

請看一看kubectl expose更多的例子

+0

謝謝,我AWAR這個解決方案的問題是,但問題是我需要獲得所有這些pod的IP(不使用循環)。但是現在我意識到從設計的角度來看這是一個愚蠢的想法,我不應該這樣做。 – Misko

+0

您還可以使用3種不同的服務創建3個獨立的部署,並且只能創建一個副本/部署。然後使用DNS。取決於你想達到的目標。在重啓的情況下,IP將被改變。 – Camil

+0

我正在嘗試創建mongo副本,但它們依賴於主機名。這對Kubernetes來說是無法使用的。 – Misko