k8s 網絡插件 flannel calico

一、k8s 網絡概述

  • Kubernetes網絡是指在Kubernetes集群中不同組件之間進行通信和交互的網絡架構,每個容器都有自己的IP地址,這些容器組成了Pod,Pod是Kubernetes調度的最小單元。

  • Pod是Kubernetes中最小的部署單元,每個Pod都有一個唯一的IP地址,Pod內的容器共享該IP地址和網絡命名空間,pod間通信可以使用多種技術,如Kubernetes默認的CNI插件:Flannel、Calico 等。

二、flannel 網絡插件

flannel 網絡通信規則

1、 pod 內部容器之間的通信

  • 在Pod內部,容器之間可以通過共享網絡命名空間進行通信。所有容器共享Pod的IP地址和網絡命名空間,它們可以使用localhost或Pod的IP地址進行通信。可以通過在Pod的配置文件中指定容器之間的端口映射來定義容器之間的通信方式。

  • 例如,在一個Pod中有兩個容器A和B,A需要向B發送HTTP請求。可以在Pod的配置文件中為容器A和容器B分別指定端口號,然后在容器A中使用localhost和容器B的端口號進行通信。容器B在接收到請求后可以返回HTTP響應。

2、同一主機不同 pod 之間的通信

  • Pod A 發送數據到 Pod B

  • ?數據包通過Pod A的veth接口到達宿主節點

  • ?數據包經由節點的虛擬網橋(如cni0)到達Pod B

3、不同主機上 pod 間通信

  • Pod A 發送數據到目標Pod(在另一節點上)

  • ?數據包經過veth接口到達宿主節點

  • ?flanneld對數據包進行VXLAN封裝

  • ?封裝后的數據包通過底層網絡傳輸到目標節點

  • ?目標節點的flanneld解封裝數據包,并將其路由到目標Pod

?優點

  • 結構清晰,易于排查

  • ?對系統資源占用較低

?缺點

  • 數據包在出節點的情況下,需要發生三次的內核與用戶空間拷貝,代價較高

三、calico 網絡插件

calico 網絡通信規則

  • Calico的特點就是把每個宿主機當中一個虛擬路由器建立與物理網絡對等的虛擬網絡,該模式BGP協議在網絡中通告路由信息,巧妙的把二層網絡轉換成三層路由網絡,避免報文被二次封裝數據轉發效率很高,Pod IP可以在物理網絡中全局路由

calico 包含組件:

  • Felix:每個節點都要運行的calico agent,負責配置節點上的路由信息和ACL

  • ETCD:配置中心,主要負責網絡元數據一致性,確保Calico網絡狀態的準確性

  • BGP Client(BIRD):主要負責把Felix配置的路由信息分發到當前Calico網絡,確保節點間能夠進行三層通信

1、 pod 內部容器之間的通信

  • 在Pod內部,容器之間可以通過共享網絡命名空間進行通信。所有容器共享Pod的IP地址和網絡命名空間,它們可以使用localhost或Pod的IP地址進行通信。可以通過在Pod的配置文件中指定容器之間的端口映射來定義容器之間的通信方式。

  • 例如,在一個Pod中有兩個容器A和B,A需要向B發送HTTP請求。可以在Pod的配置文件中為容器A和容器B分別指定端口號,然后在容器A中使用localhost和容器B的端口號進行通信。容器B在接收到請求后可以返回HTTP響應。

2、同一主機不同 pod 之間的通信

  • Pod A 發送數據到 Pod B(同一節點)

  • ?數據包通過veth接口進入宿主機

  • ?Felix配置的路由規則直接將數據包路由到Pod B

?3、不同主機上 pod 間通信

  • Pod A 發送數據到目標Pod(另一節點)

  • ?數據包到達宿主機,BGP通告的路由規則將數據包直接發送到目標節點

  • ?目標節點將數據包路由到目標Pod

優點

  • 高性能:Direct Routing模式避免了封裝開銷

  • ?網絡策略控制:支持復雜的安全策略,提供強大的流量控制能力

  • ?靈活性:支持多種模式,適配不同的網絡需求

  • ?穩定性強,效率高

缺點

  • 排查錯誤困難,安裝和管理需要一定經驗

參考文檔:

K8S網絡插件(CNI):Flannel和Calico詳細對比 - 墨天輪

k8s CNI組件flannel 和calico 網絡原理 - 三木燕 - 博客園

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918074.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918074.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918074.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

易美教育榮膺“騰訊年度影響力國際教育品牌”雙獎加冕,見證中國國際教育力量的崛起

【騰訊新聞,北京訊】在剛剛圓滿落幕的“回響中國”騰訊新聞教育頻道年度論壇上,國際教育領域迎來了高光時刻:以美國華爾街為總部、深耕國際教育十余年的易美教育(Easymay),憑借其持續創新的教育模式、國際化…

Chrome與Firefox瀏覽器安全運維配置命令大全:從攻防到優化的專業實踐

Chrome與Firefox瀏覽器安全運維配置命令大全:從攻防到優化的專業實踐 作者:高級網絡安全工程師 吉林?鎮賚融媒 劉曉偉 最后更新:2025年8月 適用對象:網絡安全、運維從業者 瀏覽器作為訪問互聯網資源的主要入口,其配置…

用 “故事 + 價值觀” 快速建立 IP 信任感

在知識變現、流量變現與粉絲變現的實踐中,IP 的核心競爭力在于用戶信任。“故事 價值觀” 的組合,能快速縮短與用戶的距離 —— 故事讓 IP 從抽象符號變為可感知的存在,價值觀則推動用戶從被動關注轉為主動認同,二者共同為變現筑…

PDF處理控件Aspose.PDF教程:使用 C#、Java 和 Python 代碼調整 PDF 頁面大小

使用 Aspose.PDF 調整 PDF 大小 Aspose.PDF 是一個功能強大且靈活的庫,旨在跨多個平臺(包括 .NET、Java 和 Python)處理 PDF 文件。在調整 PDF 大小方面,它提供了對頁面尺寸和內容縮放的完全控制。無論您是想縮小 PDF 大小、將頁…

Django 表單:深度解析與最佳實踐

Django 表單:深度解析與最佳實踐 引言 Django 是一個強大的 Python Web 框架,它提供了豐富的功能,包括表單處理。表單是 Web 應用中不可或缺的一部分,用于收集用戶輸入的數據。本文將深入探討 Django 表單的使用,包括其結構、功能以及最佳實踐。 Django 表單概述 Djan…

Claude Code MCP 網絡搜索配置命令

?? Windows vs Linux 配置區別 Windows 配置特點: 使用 "cmd" 作為命令 需要 "/c" 參數來執行命令 路徑分隔符使用反斜杠 \ Linux/macOS 配置特點: 直接使用命令名(如 "npx", "uvx") 不需要 /c 參數 路徑分隔符使用正斜杠 / ?…

20250808 C++ 不使用三方庫,在 RGB 圖像上打印信息

先看效果直接上代碼 // ********************************************* // FileName: text_overlay.hpp // Brief: // // Date: 8 Aug. 2025 // Author: ... // *********************************************#ifndef TEXT_OVERLAY_HPP #define TEXT_OVERLAY_HPP#include &…

前端開發(HTML,CSS,VUE,JS)從入門到精通!第八天(Vue框架及其安裝)(完結篇) 重點 ! ! !

十三、Vue 單文件組件1.在前面學習的傳統組件存在以下問題:(1)全局定義的組件必須保證組件名不能重復。(2)字符串的模板缺乏高亮語法,在寫多行 HTML 片段的時候,需要用到丑陋的 ”\”…

2025最新國內服務器可用docker源倉庫地址大全(2025年8月更新) · DockerHub鏡像加速全面指南

2025最新國內服務器可用docker源倉庫地址大全(2025年8月更新) DockerHub鏡像加速全面指南 2025年8月,隨著云原生技術的深入普及,開發者在使用 Docker 拉取 鏡像 時,經常遭遇 超時、鏡像下載失敗、無法拉取 等網絡瓶頸…

GitLab同步提交的用戶設置

內容:在GitLab同步提交的用戶設置中,部分用戶的代碼提交仍未與GitLab同步,導致無法在GitLab上顯示提交者的用戶名。1、檢查下gitlab賬戶的設置 登錄gitlab后,右上角個人頭像點開后,可以看到姓名和賬戶2、不對的話&…

Web 圖像捕獲革命:ImageCapture API 全面解析與實戰指南

概述 ImageCapture API 是 Web API 的一部分,允許網頁應用直接訪問和控制設備攝像頭,實現高質量的圖像捕獲功能。該 API 提供了比傳統的 getUserMedia() 更精細的控制能力,支持設置分辨率、白平衡、曝光等參數。 核心特性 1. 高質量圖像捕…

ASP.NET三層架構成績管理系統源碼

一、系統簡介 本次設計的成績管理系統是基于ASP.NET WebForm技術開發的Web應用程序,采用經典的三層架構(表示層、業務邏輯層、數據訪問層)設計模式,結合前端HTML、JavaScript、jQuery及ECharts圖表庫,后端使用C#語言、…

Linux 內存管理之page folios

文章目錄前言一、簡介struct folio二、page folios的好處2.1 compound page2.2 page cache三、buffer_head、iomap與page folios四、何時分配 Large Folio五、folio結構體演變六、內核主線folio的逐步使用參考資料前言 Linux 內核的內存管理子系統以“頁”(page&am…

[優選算法專題一雙指針——兩數之和](雙指針和哈希表)

題目鏈接 LeetCode兩數之和 題目描述 題目解析 注意:前提條件:輸入的數組numbers是已排序的。 核心思路:雙指針法 利用數組已排序的特性,通過兩個指針從兩端向中間移動,快速定位符合條件的兩個數,時間…

佳維視高亮度工業顯示器,強光環境清晰可見

在工業、戶外或高光照場景中,普通顯示器常因環境光干擾導致畫面模糊、色彩失真,甚至無法操作。高亮度工業顯示器通過技術優化與專業設計,突破光線限制,確保在強光下仍能呈現清晰、穩定的視覺效果,成為關鍵任務環境中的…

系統的緩存(buff/cache)是如何影響系統性能的?

系統的緩存(buff/cache,包括 buffer 和 cache)是 Linux 內核為提升系統性能設計的關鍵機制,其對性能的影響主要體現在加速數據訪問和平衡內存與磁盤速度差異上,具體如下: 一、buff/cache 的本質&#xff1a…

淺析 Berachain v2 ,對原有 PoL 機制進行了哪些升級?

Berachain 本身是一個特色鮮明的 Layer1 區塊鏈項目,其最具辨識度的創新在于采用了 PoL(Proof of Liquidity)區塊獎勵分配機制。該機制把鏈的區塊獎勵轉化為生態增長動力的協議內經濟機制,通過將絕大部分獎勵直接分配給生態中的用…

校招秋招春招小米在線測評小米測評題庫|測評解析和攻略|題庫分享

秒收測評 小米校招投遞簡歷之后會立馬收到在線測評,在線測評考察的內容就是行測和性格測試。 具體內容 小米在線測評有五部分組成,其中第一、二、三部分各限時 10 分鐘,并且每題只有 70 秒左右,時間到自動跳到下一題&#xff0…

遮天(帝國篇)

距離軒轅鴻天成為道盟盟主已經過去了三十年,卡薩帝國國君卡薩也在一次戰爭中被妖族所殺,留下了兩個年幼的兒子,長子卡利爾,次子卡修。 卡薩死后一直是大將軍戈隆掌控帝國事務,戈隆秉承著道盟見妖就殺的理念讓卡薩帝國成…

批量將NC格式數據轉換為TIF格式:解決轉換后圖像顛倒、鏡像、翻轉等問題

本文介紹基于Python中GDAL模塊,批量將大量.nc格式的柵格文件轉換為.tif格式,并解決可能出現的轉換后圖像顛倒、鏡像、翻轉等問題。最近,需要批量將大量.nc格式的柵格文件轉換為.tif格式。如下圖所示,有多個待轉換的.nc格式文件&am…