2017-08-02 103 views
0

我開發了兩個Web應用程序(我們稱之爲A和B)並將它們部署到k8s。 Web應用程序A是指由Web應用程序B生成的圖像。在以前的環境中,B具有固定的IP和端口,因此可以更容易地訪問B上託管的圖像。在K8S環境中,我使用服務類型 - NodePort。在這種情況下,端口在每次部署時都會隨機生成。如何以編程方式在Kubernetes中獲取服務的NodePort?

問題是,是否有方法從A Pod以編程方式獲取B服務的節點端口。或者是否有可能修復一個服務的節點端口?

回答

0

有三種回答您的問題:

首先是一個不應該被破壞,只是因爲Pod這背後是重新部署了ServiceService被設計爲長期合約,抽象的服務的位置(或計數)Pod s

第二個是,如果你希望有網絡應用程序A使用已知的你NodePort,你可以把一個價值在Serviceports:映射nodePort:領域,並假設它尚未分配,kubernetes會按照你的判斷

的第三個答案是,每Pod集羣內自動運行獲得用於與kubernetes API進行通信的API令牌(它生活在/run/secrets/kubernetes.io或類似的地方),所以你可以問A來自Pod內的PI爲您提供服務節點的當前值端口

+0

非常有幫助,謝謝。 – ichbinblau

相關問題