華為云云原生鉆石集訓營 第六課:Kubernetes網(wǎng)絡(luò)架構(gòu)原理深度剖析(下)
課程目標:
學完本課程后,您將能夠:
1.理解Ingress Controller工作機制
2.理解K8S CNI接口機制與插件實現(xiàn)原理
3.容器網(wǎng)絡(luò)相關(guān)的最佳實踐及問題經(jīng)驗分享
目錄:
1. Ingress Controller機制剖析
2. CNI接口機制與插件實現(xiàn)原理
3. 云原生網(wǎng)絡(luò)最佳實踐與典型問題案例
共享DNS最佳實踐原理 ? ? ? ? POD安全組 ? ? ? ? 源地址保持問題案例? ? ? ? ? ?響應(yīng)延時問題分析案例
前面的課程中大家了解了kubernetes容器網(wǎng)絡(luò)和Service的基本模型
Kubernetes基本網(wǎng)絡(luò)模型剖析
Service基本網(wǎng)絡(luò)模型剖析
華為云CCE Yantse網(wǎng)絡(luò)方案和架構(gòu)剖析
本次課程將為你講解Ingress和容器網(wǎng)絡(luò)CNI在Kubernetes是如何實現(xiàn)的,接下來是幾個最佳實踐和典型問題案例。
Ingress API接口模型與演進
為K8S集群內(nèi)服務(wù)提供聚合統(tǒng)一的訪問入口。除了提供豐富的七層(HTTP)路由功能外,Ingress實現(xiàn)中也提供了豐富服務(wù)治理能力,但不同實現(xiàn)(IngressClass)在部署方式和功能特性上存在差異。
CNI接口與插件能力模型
1.JSON-based 配置
2.支持內(nèi)置標準配置關(guān)鍵字和插件擴展關(guān)鍵字
3.通過標準輸入stdin向插件二進制傳入配置
4.配置可以保存在磁盤也可以由運行時生成
SPEC: https://github.com/containernetworking/cni
Plugins: https:/lgithub.com/containernetworking/plugins
CNI在K8S中是如何工作的
CNI調(diào)用過程:
1.CNI支持的接口命令:ADD, DEL, CHECK and VERSION
2.插件名即是可執(zhí)行文件名
3.運行時根據(jù)網(wǎng)絡(luò)操作發(fā)起相應(yīng)的插件進程命令
4.通過標準輸入傳入JSON格式的配置
5.指定容器的特殊配置也從標準輸入stdin傳入
6.插件的返回結(jié)果從標準輸出傳回stdout
7.多種插件或能力鏈式調(diào)用,失敗即終止,成功則繼續(xù),由將最終插件結(jié)果返回給運行時
網(wǎng)絡(luò)/容器網(wǎng)絡(luò)因為其本身的復雜性,以及很多側(cè)重軟件開發(fā)的童鞋并不熟悉網(wǎng)絡(luò),導致和網(wǎng)絡(luò)/容器網(wǎng)絡(luò)相關(guān)問題的定位、分析和解決都比較困難,很多時候會有無從下手之感。
1. 目標主機上沒有到源主機的路由,導致ping包沒有返回 - route
2. Pod可以跨節(jié)點訪問docker0 IP,但是不能跨節(jié)點訪問Pod IP - ip_forward
3. Flannel隧道內(nèi)部payload的源地址改變?yōu)閒lannel0設(shè)備地址 - iptables
4. 從Docker容器內(nèi)可以ping通宿主機IP,但ping不通其它主機 - iptables
5. K8s集群掉電,導致所有的服務(wù)不能訪問 - flannel & docker0
6. K8s Master主機上ping不通Node節(jié)點上的docker0和容器,但在Node上可以ping通 - iptables
引起網(wǎng)絡(luò)不通的主要原因有:
路由(route)問題。這類問題多如牛毛。常見的是目標主機到源主機的路由不通。
防火墻(iptables)問題。這類問題多如牛毛,但iptables比route更復雜。主要有:(1)防火墻filter表的規(guī)則阻止icmp包;(2)防火墻NAT表的SNAT/MASQUERADE。
系統(tǒng)內(nèi)核參數(shù)問題。較少,更隱蔽,現(xiàn)象怪異得會讓你懷疑自己的智商和人生。例如ip_forward,rp_filter等。
Linux設(shè)備參數(shù)設(shè)置。較少,更隱蔽,現(xiàn)象怪異得會讓你懷疑自己的智商和人生。例如MTU等。 至于IP地址配置錯誤等問題就太明顯了,不在討論之列。
總結(jié):
本課程講解重點
1: Ingress架構(gòu)原理
2:CNI架構(gòu)流程和高級功能剖析
3:云原生網(wǎng)絡(luò)最佳實踐與問題分析案例
參考鏈接:
相關(guān)內(nèi)容的華為云官網(wǎng)鏈接:
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/
Kubernetes 云原生 網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。