容器基礎知識3-kubectl、kubeadm 和 kubelet,kube-proxy

kubectlkubeadm?和?kubelet,kube-proxy的概念和關系

一、kubeadm:K8s 集群的 “搭建工程師”

核心定位

如果把 K8s 集群比作一棟大樓,kubeadm?就是負責 “打地基、搭框架” 的工程師,專門用來快速搭建 K8s 集群的工具

具體工作內容
  1. 初始化集群骨架

    • 啟動集群時,只需要一條命令(比如?kubeadm init),它就會自動:
      • 部署控制平面組件(如 API Server、Scheduler、Controller Manager);
      • 配置網絡插件(讓容器能互相通信);
      • 生成集群運行所需的證書和配置文件。
    • 就像蓋樓時先搭好承重柱和橫梁,kubeadm?會確保集群的基礎架構能穩定運行。
  2. 添加節點到集群

    • 當需要擴展集群(比如增加更多服務器)時,kubeadm join?命令會生成一個 “入伙憑證”,新節點用這個憑證就能加入集群,就像往大樓里添加更多房間。
  3. 簡化環境依賴

    • 自動處理 K8s 運行所需的依賴(如 Docker、containerd 容器運行時),不用手動逐個安裝配置,降低了搭建集群的門檻。
類比理解

kubeadm?就像 “一鍵安裝包”,比如你想搭建一個論壇網站,不需要從零搭建服務器環境,用?kubeadm?類似的工具能快速部署好論壇的基礎架構。

二、kubelet:節點上的 “容器管家”

核心定位

每個 K8s 節點(物理機或虛擬機)上都必須運行?kubelet,它是節點的 “大管家”,負責管理節點上的所有容器。

具體工作內容
  1. 接收并執行指令

    • 控制平面(如 API Server)會告訴?kubelet:“在這個節點上運行某個容器應用”,kubelet?就會調用容器運行時(如 Docker、containerd)來啟動容器,就像管家按主人的要求安排任務。
  2. 監控容器狀態

    • 持續檢查容器是否在運行、資源使用情況(CPU、內存),如果容器掛了,會嘗試重啟;如果節點資源不足,會向控制平面匯報,避免過載。
  3. 節點與集群的 “橋梁”

    • 收集節點的健康狀態、資源信息(如硬盤空間),反饋給控制平面,讓集群知道每個節點的 “健康情況”,以便調度任務。
類比理解

kubelet?類似小區物業管家:

  • 業主(控制平面)下達 “安排住戶(容器)入住” 的指令,管家負責找房間(節點資源)、安排入住(啟動容器);
  • 平時監控住戶是否正常生活(容器運行狀態),有問題及時處理(重啟容器),并向業主匯報小區情況(節點狀態)。

三、kubectl:用戶的 “集群遙控器”

核心定位

kubectl?是用戶與 K8s 集群交互的命令行工具,就像電視遙控器,通過它可以向集群發送各種操作指令。

具體工作內容
  1. 管理集群資源

    • 用?kubectl?可以創建、刪除、查看各種 K8s 資源,比如:
      • 部署應用:kubectl apply -f app.yaml(根據配置文件啟動容器應用);
      • 查看狀態:kubectl get pods(查看所有運行的容器組);
      • 伸縮應用:kubectl scale deployment my-app --replicas=5(把應用副本數增加到 5 個)。
    • 就像用遙控器切換電視頻道、調節音量,kubectl?讓用戶能靈活控制集群。
  2. 調試與排查問題

    • 當容器應用出問題時,用?kubectl logs pod-name?查看日志,或?kubectl exec -it pod-name sh?進入容器內部調試,相當于用遙控器檢查電視哪里出了故障。
  3. 配置集群參數

    • 通過修改配置文件,用?kubectl?提交更新,比如調整應用的資源限制、更新鏡像版本等,實時修改集群的運行方式。

類比理解

kubectl?就是用戶的 “集群遙控器”:想讓集群做什么,直接通過命令告訴它 —— 比如 “我要啟動一個微信服務”“我要看當前有多少個容器在運行”,所有操作都通過這個工具來傳達。

四、三者的協作關系:從 “搭建” 到 “管理” 的全流程

  1. 搭建階段kubeadm?負責快速搭好集群框架,初始化控制平面和節點;
  2. 運行階段:每個節點的?kubelet?負責管理本地容器,與控制平面通信;
  3. 操作階段:用戶通過?kubectl?向集群發送指令,kubelet?接收并執行,實現對容器應用的管理。

類比場景

  • 建小區(集群):kubeadm?負責買地、建樓(初始化集群);
  • 小區運營:每個樓的管家(kubelet)管理住戶(容器),處理日常事務;
  • 業主操作:住戶(用戶)通過物業系統(kubectl)提交需求(如報修、搬家),管家接收并處理。

五,kube-proxy:集群網絡的 “交通指揮員”?

1. 核心定位:讓容器服務能被 “找到”

K8s 集群中,每個容器都有自己的 IP,但當容器被部署在不同節點上時,如何讓它們互相訪問?kube-proxy就是解決這個問題的 “網絡管家”,負責實現服務的網絡通信和負載均衡。

2. 具體工作內容:三種 “交通指揮” 模式
  • 模式 1:iptables 代理(默認)
    就像在路口設置路牌,kube-proxy用 Linux 的iptables規則,將訪問服務 IP 的請求轉發到具體的容器 IP 上。例如,當用戶訪問 “微信服務” 的 IP 時,iptables規則會告訴網絡:“把請求交給節點 A 上的微信容器 1 或節點 B 上的微信容器 2”,實現流量分發。

  • 模式 2:ipvs 代理(高性能場景)
    iptables更高效的 “智能交通系統”,適合大規模集群。它維護一個服務到容器的映射表,像高速路的 ETC 系統一樣快速轉發流量,減少延遲。

  • 模式 3:userspace 代理(舊版本兼容)
    相當于 “人工指揮交通”,所有流量先經過kube-proxy進程再轉發給容器,性能較低,現在很少用。

3. 類比理解:快遞分揀中心
  • 集群中的服務(如 Web 應用)像 “快遞公司總部”,有一個對外的地址(服務 IP);
  • kube-proxy像分揀中心的工作人員,收到寄給 “總部” 的快遞(網絡請求)后,根據包裹信息(請求類型),把快遞送到具體的分店(容器實例),確保每個請求都能準確到達目的地。

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

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

相關文章

langchain調用本地ollama語言模型和嵌入模型

參考:ollama兼容OpenAIEmbeddings的解決思路 解決代碼: 訪問embedding模型代碼 # 測試以下兩個引用都可以 from langchain_openai import OpenAIEmbeddings #from langchain_community.embeddings import OpenAIEmbeddings from typing import List,…

gitlab私有化部署

以下是整理好的Markdown格式文檔,詳細描述了從下載鏡像、啟動鏡像、修改external_url以及設置或重置root密碼的步驟。 GitLab 安裝與配置指南 本文檔將指導您完成GitLab的安裝和基本配置過程,包括下載鏡像、啟動容器、修改外部訪問URL(external_url)及設…

CCLink IE轉ModbusTCP網關配置無紙記錄器(上篇)

本研究案例采用CCLink IE轉ModbusTCP網關技術,實現了將記錄儀數據傳輸至三菱PLCPLC的過程。具體操作步驟如下所述。在確保無紙記錄儀與PT100傳感器傳感器的連接無誤后,應將無紙記錄儀與個人計算機(PC)通過以太網線進行連接&#x…

近期工作感想:職業規劃篇

最近整理博客時,撞見意外的驚喜——17年剛畢業那會兒寫的職業規劃,靜靜躺在回收站里。 重讀那些碎碎念,忍不住想笑:那時候的焦慮太真切了,哪敢想后來會遇到這么多大佬,推著我往前一直陰暗爬行😂…

Matlab自學筆記六十四:求解自變量帶有約束條件的方程

1.說明 有一些方程由于實際問題的需要,需要設置一些限制約束條件,例如x>0等,若使用Matlab編程求解,首先嘗試使用符號運算求解(符號運算可參考文章54:Matlab自學筆記五十四:符號數學工具箱和…

Flutter狀態管理篇之ChangeNotifier(二)

目錄 前言 一、ChangeNotifier定義 1.ChangeNotifier定義 2.Listenable的定義 二、繼承體系 三、核心方法解析 1.類結構與屬性分析 1.Listenable的定義 2..核心字段 1.屬性解析 1._count 2._listeners 3.為什么不用const [] 4._notificationCallStackDep…

大帶寬服務器對于高流量網站的作用

隨著科學技術的快速發展,越來越多的網站面臨著高流量的訪問需求,在同一時間中會有著大量的用戶進行訪問,同時也提高了該企業的知名度,但是這對于服務器的性能需求也在逐漸增高,而大帶寬服務器卓越的性能和穩定的傳輸能…

2025年算法備案發號規律總結與下半年發號預測

上半年發號規律總結圖太糊?可看下方表格(左劃看全表)👇今年批次算法備案總批次發布時間所發當批算法材料提交時間段審核周期25年第一批第十批2025/3/122025年1月(春節前)約2個月25年第二批第十一批2025/5/1…

高光譜相機(Hyperspectral Camera)

高光譜相機(Hyperspectral Camera)高光譜相機:是一種可以采集連續、多達上百個窄波段的光譜信息的成像設備。它的核心特征是:每個像素點都擁有一個完整的光譜曲線,類似于“像素級別的光譜儀”。舉例:普通彩…

經典排序算法之歸并排序(Merge Sort)

歸并算法定義:所謂歸并排序是指將兩個或兩個以上有序的數列(或有序表),合并成一個仍然有序的數列(或有序表)。這樣的排序方法經常用于多個有序的數據文件歸并成一個有序的數據文件。歸并排序相比較之前的排…

Linux系統環境下 Node.js 20 安裝實踐:glibc 2.17 兼容方案與工具鏈優化

前言:在 CentOS 7.9 的生產環境中,默認搭載的 glibc 2.17 是系統的核心依賴,直接升級它可能引發穩定性風險。而 Node.js 20 作為較新的運行時,其與 glibc 的兼容性長期困擾著開發者:為什么有些場景下 Node.js 20 能直接…

構建一個簡單的Java框架來測量并發執行任務的時間

文章目錄一、完整代碼二、代碼解釋1、方法簽名2、初始化CountDownLatch3、提交任務到執行器4、任務線程的邏輯5、主線程的邏輯詳細解釋總結以下代碼實現了一個簡單的框架,用于測量并發執行任務的時間。它使用了Executor來執行任務,并通過CountDownLatch來…

精通 triton 使用 MLIR 的源碼邏輯 - 第001節:triton 的應用簡介

項目使用到 MLIR,通過了解 triton 對 MLIR 的使用,體會到 MLIR 在較大項目中的使用方式,匯總一下。1. Triton 概述OpenAI Triton 是一個開源的編程語言和編譯器,旨在簡化 GPU 高性能計算(HPC) 的開發&#…

Python爬蟲-政務網站自動采集數據框架

前言 本文是該專欄的第81篇,后面會持續分享python爬蟲干貨知識,記得關注。 本文,筆者將詳細介紹一個基于政務網站進行自動采集數據的爬蟲框架。對此感興趣的同學,千萬別錯過。 廢話不多說,具體細節部分以及詳細思路邏輯,跟著筆者直接往下看正文部分。(附帶框架完整代碼…

GitHub 趨勢日報 (2025年07月19日)

📊 由 TrendForge 系統生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日報中的項目描述已自動翻譯為中文 📈 今日獲星趨勢圖 今日獲星趨勢圖1054shadPS4695n8n361remote-jobs321maigret257github-mcp-server249open_deep_res…

2025開源組件安全工具推薦OpenSCA

OpenSCA是國內最早的開源SCA平臺,繼承了商業級SCA的開源應用安全缺陷檢測、多級開源依賴挖掘、縱深代碼同源檢測等核心能力,通過軟件成分分析、依賴分析、特征分析、引用識別、合規分析等方法,深度挖掘組件中潛藏的各類安全漏洞及開源協議風險…

旅游管理實訓基地建設:筑牢文旅人才培養的實踐基石

隨著文旅產業的蓬勃發展,行業對高素質、強實踐的旅游管理人才需求日益迫切。旅游管理實訓基地建設作為連接理論教學與行業實踐的關鍵紐帶,既是深化產教融合的重要載體,也是提升旅游管理專業人才培養質量的核心抓手。一、旅游管理實訓基地建設…

網絡爬蟲的相關知識和操作

介紹 爬蟲的定義 爬蟲(Web Crawler)是一種自動化程序,用于從互聯網上抓取、提取和存儲網頁數據。其核心功能是模擬人類瀏覽行為,訪問目標網站并解析頁面內容,最終將結構化數據保存到本地或數據庫。 爬蟲的工作原理 …

【vue-6】Vue3 響應式數據聲明:深入理解 ref()

在 Vue3 的 Composition API 中,ref() 是最基礎也是最常用的響應式數據聲明方式之一。它為開發者提供了一種簡單而強大的方式來管理組件狀態。本文將深入探討 ref() 的工作原理、使用場景以及最佳實踐。 1. 什么是 ref()? ref() 是 Vue3 提供的一個函數&…

HTML常用標簽匯總(精簡版)

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>簡單標記</title> </head><body>&…