我遇到問題: 1)在部署中爲POD聲明hostNetwork = true並創建部署。 2)用nodePort聲明一個服務到部署podKubenetes POD hostnetwork cause nodePort不起作用
我發現nodePort不能被沒有運行pod的主機上的serviceClusterIP:nodePort訪問。
當我刪除hostnetwork = true時,serviceClusterIP:nodePort可以被羣集中的任何主機節點訪問。
什麼是worong?
我的kubernetes版本列在下面,我正在使用編織網。
# kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.0", GitCommit:"58b7c16a52c03e4a849874602be42ee71afdcab1", GitTreeState:"clean", BuildDate:"2016-12-12T23:31:15Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
謝謝。我的理解是:1)nodePort是用指定節點和nodePort公開服務; 2)hostNetwork將在其運行的節點上運行pod。如果一個pod在主機網絡模型上運行,但是一個服務可以暴露某些端口作爲服務節點端口,對嗎? –
「nodePort是用指定節點公開服務」 - 不,它暴露在_all_節點上。我鏈接到文檔。此外,我擴展了我的答案來描述主機網絡與普通的pod網絡。 – Bryan