Kubernetes Network

原文鏈接:https://kubernetes.io/docs/concepts/services-networking/service/

K8S LB機制

每個服務在被創建的時候會被賦予一個集羣IP(cluster IP)和端口,因此,流量如何通過服務訪問到真正的Pod呢?

LB機制分三種模式

1.用戶空間代理模式(User space proxy mode)

此模式下,kube-proxy 監視Kubernete Master的Service對象和Endpoint對象的增刪行爲,併爲每個服務在worker節點開啓一個隨機端口。任何流入這個代理端口的流量都會路由到其中一個Pod。

在用戶空間需要安裝一個iptables來捕獲到目的地是此服務的流量(通過clusterIP和端口),並將這些流量路由到kube-proxy爲服務開啓的代理端口。

在這裏插入圖片描述

  1. iptables代理模式(iptables proxy mode)

此模式下,kube-proxy監聽Service & Endpoint對象的增刪行爲。每個服務安裝一個iptables規則,捕獲服務流量(通過clusterIP和端口)並路由到真正的Pod。使用iptables處理流量路由使用更小的系統開銷,因爲它使用Linux netfilter不需要用戶態和內核態的切換。

如果kube-proxy運行在這個模式下,第一次選擇的Pod掛掉,那麼它不會去重試。和用戶空間代理模式不同,可以使用就緒探針檢測Pod是否可用。

html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章