2016-07-29 108 views
0

與Kubernetes(v1.3.2)一起玩我正在檢查集羣內部負載均衡調用(3個內部部署CentOS 7虛擬機)的能力。
如果我正確理解http://kubernetes.io/docs/user-guide/services/「虛擬IP和服務代理」段落中的文檔,並且正如我在測試中看到的那樣,負載平衡是每個節點(VM)。也就是說,如果我有一個3個虛擬機的集羣並部署了一個包含6個虛擬機(每個虛擬機2個虛擬機)的服務,則負載平衡只會在同一虛擬機的虛擬機之間進行,這在某種程度上令人失望。
至少這是我在測試中看到的:使用服務的ClusterIP從集羣內調用服務,將在駐留在與發送調用相同的VM中的2個Pod之間進行負載平衡。 (順便說一句,從羣集外調用服務(使用NodePort),然後請求將在駐留在作爲請求目標IP地址的VM中的2個容器之間進行負載平衡)。
以上是否正確?
如果是,我怎樣才能使所有6個副本之間的內部集羣調用負載平衡? (我必須爲此使用像nginx這樣的負載均衡器嗎?)Kubernetes集羣內部負載平衡

回答

1

不,該聲明不正確。負載平衡應該跨節點(VM)。這demo演示它。我已經在gce上有3個節點的k8s羣集上運行這個演示。它首先創建一個帶有5個後端Pod的服務,然後將其ssh放入一個gce節點並訪問service.ClusterIP,並將流量負載均衡到所有5個Pod。 我看到你有另一個問題「不是唯一的IP每pod」打開,似乎你沒有正確設置你的羣集網絡,這可能會導致你觀察到的。

+0

謝謝。我也在這個方向思考。我會檢查您在其他案例的評論中提到的內容 – user5396668

0

就你而言,每個節點都將運行一個服務副本 - 並在整個節點間實現負載平衡。