這幾天我一直在研究 Kubernetes 的主要特性,我明白了很多東西,我真的做到了。但是我沒有找到這個問題的答案:Kubernetes 如何平衡集群節點之間的請求?
好吧,我的意思是,假設一個本地私有 Kubernetes 集群: LoadBalancer 型別實際上使服務使用 IP 將其埠發布到網路;Ingress 服務是為一些第三方 IngressController 設定規則的服務,它處理請求并將它們轉發到正確的服務。
我不明白的是:
- 這些組件中的任何一個或所有組件,或者其他組件,是否實際上監視節點(或 Pod,我不知道)可用資源并選擇將請求轉發到哪個節點(或 Pod)?
- 如果任何真正的負載均衡器原生存在于 Kubernetes 中,它采用什么標準?也許是前面提到的資源,或者網路延遲,或者只是采用回圈。
- 如果有默認的平衡策略,是否可以自定義并實作自己的規則?
請告訴我,如果我誤解了什么,我會盡量專注于那個。謝謝你們。
uj5u.com熱心網友回復:
如果您沒有在外部進行負載平衡的東西(feistio),那么您提到的所有選項都歸結為將 tcp 連接引入集群。
在集群內部,ClusterIP 是負載均衡的真正概念:分配給具有 ClusterIP 的服務的所有 Pod 將(大致)以回圈方式使用。這由 kubeproxy 在每個節點上配置的 iptables DNAT 規則處理。
外部 LoadBalancer 或 Ingress 通常不執行負載平衡,即使名稱可能暗示它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/489263.html
標籤:Kubernetes 负载均衡
上一篇:KubernetesCustomResourceDefinition升級失敗-“flinkdeployments.flink.apache.org”
