日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上)

發布時間:2023/12/14 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“程序猿技術大咖”,關注并選擇“設為星標”

回復“加群”獲取入群討論資格!

本篇文章來自《華為云云原生王者之路訓練營》鉆石系列課程第6課,由華為云容器基礎設施團隊主任工程師Jimmy主講,深入講解 Kubernetes容器網絡模型,Service負載均衡機制、CNI接口的實現原理以及若干實踐案例。

01

Kubernetes基本網絡模型剖析

K8S 網絡模型對互通性的要求

  • 節點上的容器POD可以與集群內任意節點上的容器POD無需NAT實現互訪

  • 節點上的代理agent(比如:

    系統后臺進程、kubelet)可以與同節點上的容器POD互訪

注解:對于支持容器POD以主機網絡模式運行的平臺(如:Linux)

  • 主機網絡模式的容器POD可以與集群內任意節點上的容器POD無需NAT互訪

參見社區文檔:https://kubernetes.io/docs/concepts/cluster-administration/networking/

K8S 網絡模型(1): Overlay組網模型

模型特征

  • 同節點內POD二、三層直接互通

  • 跨節點POD互通通過隧道(VXLAN/IPIP)

  • POD訪問宿主節點地址或集群外地址需SNAT

優勢

  • 與底層網絡解耦,節點IP互通即可

劣勢

  • 隧道封裝解封裝開銷大,小包帶寬損耗可達30%+

  • 互通性差,SNAT

典型實現

  • Flannel/VXLAN, Calico/IPIP, CCE 隧道網絡

K8S 網絡模型(2): 二層組網模型

組網特點

  • 容器和宿主節點屬于同一子網

  • 宿主節點間要求二層互通(物理網絡)

優勢

  • 扁平網絡,容器與節點具有同等互通能力

劣勢

  • 規模擴展受子網限制

  • 要求節點網絡二層廣播域開放

  • 橋接模式轉發性能較差

典型方案

  • Azure CNI,Rancher扁平網絡,CCE Underlay L2

K8S 網絡模型(3): 三層組網模型

組網特點

  • 按節點掩碼長度,給每個節點分配容器子網

  • 同節點內POD二、三層直接互通

  • 跨節點POD互通通過本地路由表及節點網絡路由轉發

  • POD訪問宿主節點地址無需SNAT

優勢

  • 無隧道開銷,互通性好

  • 規模擴展性高

劣勢

  • 需要對接節點網絡,支持BGP 協議或路由配置接口

典型方案

  • Calico Native, CCE VPC 路由

02

Service服務負載均衡機制剖析

K8S Service負載均衡機制實現原理(1)--IPTables

方案說明:

  • 利用linux內核原生Netfilter/IPTable的HOOK/Chain及Conntrack連接狀態機制,實現NAT和負載均衡

優勢

  • 內核原生能力,經歷了長期的考驗,穩定性好(k8s 1.2開始作為default方案)

  • 易于與不同容器網絡模型集成

劣勢

  • 線性遍歷查表機制,造成大規模規則場景下,新建連接開銷大

  • 大規模規則刷新較慢

  • 負載均衡算法相對少,均衡效果較差

K8S Service負載均衡機制實現原理(2)--IPVS

方案說明

  • 基于內核負載均衡模塊IPVS(LVS:章文嵩博士貢獻),實現NAT和負載均衡

優勢

  • 專用負載均衡方案,基于IPSet/Hash查表機制,性能高(k8s 1.11 GA, 由華為云原生容器團隊貢獻給K8S 社區)

  • 負載均衡算法豐富,均衡性好(round-robin, min connection etc)

  • 規模擴展性好,規則數對匹配性能影響小和刷新規則快

劣勢

  • 原始設計針對南北向邊界負載均衡,對于分布式東西向某些特殊訪問場景存在限制,關注社區ISSUE列表

  • 仍然依賴IPTables+Conntrack實現MASQUADE(SNAT)

K8S Service負載均衡機制實現原理(3)--eBPF

方案說明

  • 基于高內核版本eBPF機制

  • 東西向采用Socket Layer LB機制實現,支持會話保持

  • 南北向采用XDP/TC BPF實現負載均衡/NAT和狀態表

優勢

  • 適合容器場景,轉發路徑短,最大開銷下降可達80%

劣勢

  • 內核版本要求社區內核5.7+

  • 缺乏大規模的商用檢驗,處于快速迭代過程,社區不斷有新patch合入

  • 負載均衡算法待增強和豐富

典型方案

  • Cilium,Calico

03

華為云CCE yangtse網絡方案原理

VPC 路由模式

方案說明

  • 按照創建集群時設定的節點長度為節點分配容器子網

  • 將每個節點的容器子網路由配置到VPC路由表

優勢

  • 無隧道開銷,轉發性能與主機網絡持平

  • VPC內節點與容器互通無SNAT,支持源地址保持

劣勢

  • 集群規模受限于VPC路由表規格,比如:200

  • 互通性受限

    - 需要通過nodeport對接ELB后端,存在多跳損耗,負載均衡性差

    - 訪問OBS或外網等服務需要SNAT為節點地址

ENI/TrunkPort

方案說明:

容器網絡與VPC網絡一體化融合方案,充分利用VPC網絡的軟硬協同和分布式架構為容器提供云原生的規模擴展、極致彈性、負載均衡和安全隔離能力。

  • 每個容器POD具有獨立的VPC子網地址,統一IPAM(節點、容器、服務子網統一管理)

  • BMS節點支持128個VF直通網口到容器POD

  • 虛機節點Trunkport 模式ENI,最多支持創建256個VLAN子接口直通容器POD

  • 每個POD具有獨立的安全組,支持容器粒度的網絡隔離

  • POD間互訪不經過節點root namespace,直通模式轉發0損耗

  • 不再依賴節點內核IPVS/IPTables實現Service負載均衡,不再需要kube-proxy組件,service 負載均衡卸載到VPC分布式ELB

  • 裸機容器支持POD級網絡QoS

  • 極簡組網,運維更簡單

參考鏈接

相關內容的華為云官網鏈接:https://support.huaweicloud.com/usermanual-cce/cce_01_0249.html

https://support.huaweicloud.com/usermanual-cce/cce_01_0094.html

Kubernetes官方文檔:

  • Service:

    https://kubernetes.io/docs/concepts/services-networking/service/

  • Ingress:

    https://kubernetes.io/docs/concepts/services-networking/ingress/


感謝您的閱讀,也歡迎您發表關于這篇文章的任何建議,關注我,技術不迷茫!

  • 云原生鉆石課程 | 第5課:Kubernetes存儲架構原理深度剖析(下)

  • 徹底搞懂 K8S Pod Pending 故障原因及解決方案

  • 談阿里云云效 DevOps | DevOps 不再只是 Jenkins

  • 微服務架構下的核心話題 (三):微服務架構的技術選型

喜歡就點個"在看"唄,留言、轉發朋友圈

總結

以上是生活随笔為你收集整理的云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。