ipvsadm,是一個什么工具?

1.?ipvsadm?是什么?

ipvsadm(IP Virtual Server Administration)是 Linux 內核中?IPVS(IP Virtual Server)?模塊的管理工具,用于配置和監控內核級的負載均衡規則。它是 Kubernetes 中?kube-proxy?在?IPVS 模式?下的底層實現工具。

主要功能
  • 管理 IPVS 的虛擬服務(Virtual Service)和真實服務器(Real Server,即后端 Pod)。

  • 支持多種負載均衡算法(如輪詢?rr、加權輪詢?wrr、最少連接?lc?等)。

  • 查看當前負載均衡規則和連接狀態。

常用命令
ipvsadm -Ln            # 列出所有 IPVS 規則(數字格式顯示)
ipvsadm -Ln --stats    # 顯示統計信息(如連接數、流量)
ipvsadm -Ln --rate     # 顯示速率(如每秒請求數)
ipvsadm -E -t <VIP:PORT> -s <ALGORITHM>  # 修改調度算法

2. IPVS 模式詳解

IPVS(IP Virtual Server)是 Linux 內核內置的?四層(L4)負載均衡器,工作在傳輸層(TCP/UDP),性能遠高于傳統的?iptables?模式。

為什么 Kubernetes 使用 IPVS 模式?
  • 高性能:基于哈希表存儲規則,查詢效率為 O(1),適用于大規模集群。

  • 支持多種調度算法:如輪詢(rr)、加權輪詢(wrr)、最少連接(lc)等。

  • 更好的可擴展性:在 Service 數量超過 10,000 時,性能仍穩定。

IPVS 模式的核心組件
組件說明
Virtual Service虛擬服務(VIP),對應 Kubernetes Service 的?ClusterIP:Port
Real Server真實后端(Pod),對應 Endpoints 中的?PodIP:Port
調度算法決定流量如何分發給后端 Pod(如?rrwrrlc)。
IPVS 與 iptables 模式對比
特性IPVS 模式iptables 模式
負載均衡算法支持多種(rr/wrr/lc 等)僅支持隨機均衡
規則存儲結構哈希表(O(1) 復雜度)線性鏈表(O(n) 復雜度)
大規模集群性能更優(適合 10k+ Service)性能下降明顯
依賴內核模塊ip_vsip_vs_rr?等iptablesnf_conntrack

3. Kubernetes 中 IPVS 的工作流程

  1. Service 創建

    • 當創建?ClusterIP?類型的 Service 時,kube-proxy?會:

      • 在?kube-ipvs0?虛擬接口上綁定 Service 的 ClusterIP。

      • 通過?ipvsadm?添加 IPVS 規則,將 VIP(Service IP)映射到后端 Pod IP。

  2. 流量轉發

    • 當訪問?ClusterIP:Port?時:

      • 內核根據 IPVS 規則匹配到目標 Service。

      • IPVS 按調度算法選擇一個后端 Pod,轉發流量。

  3. 示例規則
    執行?ipvsadm -Ln?可能看到如下輸出:

    TCP  10.233.25.255:80 rr-> 10.233.1.2:80            Masq    1      0          0-> 10.233.1.3:80            Masq    1      0          0
    • rr:輪詢算法。

    • Masq:使用 SNAT(源地址轉換)。

    • 后端是兩個 Pod(10.233.1.2:80?和?10.233.1.3:80)。

    • 檢查 Service 和 Endpoints

      kubectl get svc -A | grep 10.233.25.255  # 找到關聯的 Service
      kubectl describe endpoints <service-name> # 檢查是否有健康的 Pod
    • 查看 IPVS 規則

      ipvsadm -Ln | grep 10.233.25.255
      • 如果輸出中無目標 Pod(->?開頭的行),則說明 Endpoints 缺失。


4. 常見問題

Q1: 為什么?kube-ipvs0?顯示?state DOWN
  • 這是正常的,因為?kube-ipvs0?是虛擬接口,僅用于綁定 IP,不參與實際網絡通信。IPVS 規則由內核直接處理。

Q2: 如何檢查 IPVS 是否正常工作?
# 查看規則
ipvsadm -Ln
# 檢查是否有流量轉發
ipvsadm -Ln --stats
Q3: 如何切換 kube-proxy 到 IPVS 模式?

在 kube-proxy 啟動參數中添加:

--proxy-mode=ipvs
--ipvs-scheduler=rr         # 指定調度算法

總結

  • ipvsadm?是管理 IPVS 負載均衡規則的工具,Kubernetes 通過它實現高性能 Service 轉發。

  • IPVS 模式?適用于大規模集群,支持多種調度算法,性能優于 iptables。

  • 遇到?no destination available?時,優先檢查 Endpoints 和 Pod 狀態。

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

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

相關文章

用手機相冊教我數組概念——照片分類術[特殊字符][特殊字符]

目錄 前言一、現實場景1.1 手機相冊的照片管理1.2 照片分類的需求 二、技術映射2.1 數組與照片分類的對應關系2.2 數組索引與照片標簽的類比 三、知識點呈現3.1 數組的基本概念3.2 數組在編程中的重要性3.3 數組的定義與初始化3.4 數組的常見操作&#xff08;增刪改查&#xff…

Java面試資源獲取

&#x1f91f;致敬讀者 &#x1f7e9;感謝閱讀&#x1f7e6;笑口常開&#x1f7ea;生日快樂?早點睡覺 &#x1f4d8;博主相關 &#x1f7e7;博主信息&#x1f7e8;博客首頁&#x1f7eb;專欄推薦&#x1f7e5;活動信息 文章目錄 **1. GitHub開源項目****2. 技術博客與社區*…

spring中的@Conditional注解詳解

Conditional是Spring框架中用于條件化Bean注冊的核心注解&#xff0c;它允許開發者根據特定條件動態決定是否將Bean注冊到Spring容器中。這一特性在模塊化開發、多環境適配和動態配置等場景中非常有用。 核心原理 Conditional注解通過實現Condition接口的類來定義條件邏輯。當…

MYSQL-設計表

一.范式 數據庫的范式是?組規則。在設計關系數據庫時&#xff0c;遵從不同的規范要求&#xff0c;設計出合理的關系型數 據庫&#xff0c;這些不同的規范要求被稱為不同的范式。 關系數據庫有六種范式&#xff1a;第?范式&#xff08;1NF&#xff09;、第?范式&#xff08;…

第三方測試機構在軟件測試領域有何重大作用與優勢?

第三方測試機構在軟件測試領域作用重大&#xff0c;它就像公正的裁判&#xff0c;能幫助確保軟件質量&#xff0c;能保障軟件可靠性&#xff0c;通過提供專業測試服務&#xff0c;為軟件安全性提供保障&#xff0c;也為軟件穩定性提供保障。 機構優勢 第三方測試機構具有獨立…

大模型——使用 StarRocks 作為向量數據庫

大模型——使用 StarRocks 作為向量數據庫 本章節介紹了 StarRocks,這是一款高性能的分析數據庫,并演示了如何將其用作向量數據庫。內容涵蓋了設置、文檔加載、標記化、創建向量數據庫實例以及構建一個能夠檢索的問答系統。 StarRocks StarRocks 是一個次世代的亞秒級 MPP…

怎樣增加AI對話的擬人化和增加同理心

怎樣增加AI對話的擬人化和增加同理心 隨著心理健康問題在大學生中日益普遍,AI聊天機器人被用于提供支持,但如何有效表達同理心成為挑戰。本文對比了人與人、人與AI互動中同理心的表達與接收,通過讓126名本科生講述生活事件并收集亞馬遜MTurkers的評價,同時使用GPT-4o評估相…

SALOME源碼分析:SHAPER模塊

本文分析SALOME中的SHAPER模塊。 注1&#xff1a;限于研究水平&#xff0c;分析難免不當&#xff0c;歡迎批評指正。注2&#xff1a;文章內容會不定期更新。 一、核心組件 二、關鍵流程 三、FAQs 網絡資料 Introduction to SHAPER

batch normalization和layer normalization區別

Normalization無非就是這樣一個操作&#xff1a; 其中x是輸入數據&#xff0c;維度為&#xff08;B&#xff0c;T&#xff0c;C&#xff09;&#xff0c;其中B是batchsize&#xff0c;T是序列長度&#xff0c;C是embedding維度&#xff1b;括號內是標準化操作&#xff0c;γ和…

Postgresql源碼(144)LockRelease常規鎖釋放流程分析

相關 《Postgresql源碼&#xff08;69&#xff09;常規鎖細節分析》 最新遇到一個共享內存損壞導致常規鎖釋放報錯warning "you don’t own a lock of type"的問題。 本篇對常規鎖的概念做一些回顧&#xff0c;順便分析下釋放鎖的流程。 SpinLock&#xff1a;?LWL…

基于bert的情感分析程序

文章目錄 任務介紹數據概覽注意事項數據處理代碼準備模型構建與訓練模型類構建數據集構建數據批處理模型參數查看模型訓練結果推理與評估模型推理準確率評估附錄任務介紹 在當今信息爆炸的時代,互聯網上充斥著海量的文本數據,如社交媒體評論、產品評價、新聞報道等。這些文本…

宇樹科技舉辦“人型機器人格斗大賽”

2025 年 5 月至 6 月&#xff0c;一場全球矚目的科技盛宴 —— 全球首場 “人形機器人格斗大賽”&#xff0c;將由杭州宇樹科技盛大舉辦。屆時&#xff0c;觀眾將迎來機器人格斗領域前所未有的視覺震撼。 為打造最強參賽陣容&#xff0c;宇樹科技技術團隊在過去數周里&#xf…

計算機視覺與深度學習 | 什么是圖像金字塔?

圖像金字塔詳解 圖像金字塔 圖像金字塔詳解1. **定義**2. **原理與公式****2.1 高斯金字塔****2.2 拉普拉斯金字塔**3. **代碼示例****3.1 使用OpenCV實現****3.2 手動實現高斯模糊與降采樣**4. **應用場景**5. **關鍵點總結**1. 定義 圖像金字塔是一種多尺度圖像表示方法,將…

Spring MVC注解式控制器開發

主要對Spring MVC的核心注解的應用進行了詳細講解&#xff0c;介紹了Controller和RequestMapping注解類型的相關知識。 1.注解式控制器概念 Spring2.5之前&#xff0c;我們都是通過實現框架提供的Controller接口來定義我們的處理器類。 Spring2.5引入注解式處理器支持&#…

thonny提示自動補全功能

THONNY IDE 自動補全功能配置 在 Thonny IDE 中啟用和優化自動補全功能可以顯著提升編程體驗。為了確保該功能正常工作&#xff0c;需要確認幾個設置選項。 配置自動補全 Thonyy IDE 的自動補全默認情況下是開啟的。如果發現自動補全未按預期運行&#xff0c;可以通過調整首選…

D. 例題3.2.2 整數劃分問題

題目描述 將正整數n表示成一系列正整數之和&#xff1a;nn_1n_2...n_knn1?n2?...nk?&#xff0c;其中8\geq n_1\geq n_2\geq ...\geq n_k\geq 18≥n1?≥n2?≥...≥nk?≥1&#xff0c;k\geq1k≥1。正整數n的這種表示稱為正整數n的劃分。 例如正整數6有如下11種不同的劃分…

電腦RGB888P轉換為JPEG方案 ,K230的RGB888P轉換為JPEG方案

K230開發板本身具備將RGB888P轉換為JPEG的能力&#xff0c;但需要正確調用硬件或軟件接口。以下是具體分析及解決方案&#xff1a; 一、K230原生支持性分析 1. 硬件支持 K230的NPU&#xff08;神經網絡處理器&#xff09;和圖像處理單元&#xff08;ISP&#xff09;理論上支持…

圖解 Git 工作流:理解 Rebase、Merge 與 Pull Request 的區別

圖解 Git 工作流&#xff1a;理解 Rebase、Merge 與 Pull Request 的區別 在多人協作開發中&#xff0c;選擇合適的 Git 分支管理策略至關重要。Merge、Rebase 和 Pull Request 是最常見的三種方式&#xff0c;它們本質不同&#xff0c;使用場景也不同。 本文將通過流程圖&am…

Dart和Go語言特征對比

文章目錄 Dart 和 Go 語法對照表字符串常用方法對照列表(數組/切片)常用方法對照Map (字典/哈希表) 使用對照IO 操作對照文件操作標準輸入輸出網絡IO 主要差異說明 有同事說&#xff0c;我前端用Flutter&#xff0c;后端用Golang&#xff0c;都師出名門。但兩個語言還是老打架&…

ActiveMQ 集群搭建與高可用方案設計(二)

五、高可用方案設計與優化 &#xff08;一&#xff09;Zookeeper 在 ActiveMQ 集群中的應用 作用&#xff1a;在 ActiveMQ 集群中&#xff0c;Zookeeper 扮演著至關重要的角色。它主要用于選舉 Master 節點&#xff0c;通過其內部的選舉機制&#xff0c;從眾多的 ActiveMQ Br…