2017-10-20 61 views
0

根據https://kubernetes.io/docs/api-reference/v1.8/#serviceport-v1-coreServicePortport(整數)是「將由此服務公開的端口」,但假設它不是指定後端Pod將偵聽的端口(這些端口是targetPort,甚至可以是名稱由每個後端莢定義),它真的指定端口到一個前端莢應該連接(這些都是nodePort或自動分配的),我很困惑,是什麼請確認ServicePort對象的`port`屬性_mean_是什麼?

是暴露port作爲一個服務標識所需的負載均衡器(入節點?),或者他們可以映射它呢?

https://kubernetes.io/docs/concepts/services-networking/service/的示例並不總是包含端口name,即使規範聲明「ServiceSpec中的所有端口都必須具有唯一名稱」。 - 這使我認爲一個字符串化port也是默認name。是對的嗎?

ServiceSpec的文檔提到portports陣列的「修補程序合併密鑰」。這是和以前觀測有關port是默認name剛剛法醫證據表明存在port第一,但我們希望我們開始name? :)

+0

這是一個dup https://stackoverflow.com/a/41510604/1105015?也就是說,這個答案是否澄清了'港口'是什麼LB必須暴露,或者是否有價值被我的問題和答案添加? –

+0

的可能的複製[什麼是在Kubernetes ClusterIP,NodePort和負載平衡器服務類型之間的區別?(https://stackoverflow.com/questions/41509439/whats-the-difference-between-clusterip-nodeport-and-loadbalancer-service -types) –

+0

@JanosLenart我最初的評論提到了這個答案。我認爲如果有人可以證實'port'的作用,這只是一個重複。我們可以在那裏或這裏做到這一點,但我認爲這是一個沒有答案的子問題。 (也就是說,我不關心代表,我只是想要的答案,我想其他人可能也:)) –

回答

0

的數字一ServiceServicePort(以其spec)的port在下列地方使用:

  • 本服務在spec.clusterIP:spec.ports[*].port暴露(除非clusterIP設置爲"None"
  • 該服務是在spec.loadBalancerIP:spec.ports[*].port(如果您指定type: LoadBalancer
  • 這是默認值爲targetPortServicePort