1. k8s的簡介

Kubernetes(k8s)簡介

1. 產生背景

隨著云計算和微服務架構的興起,傳統的單體應用逐漸被拆分為多個小型、松耦合的服務(微服務)。這種架構雖然提升了開發靈活性和可維護性,但也帶來了新的挑戰:
? 部署復雜性:成百上千的微服務需要獨立部署、擴展和監控。
? 資源管理:如何高效利用服務器資源,避免資源浪費?
? 高可用性:如何確保服務在故障時自動恢復?
? 跨環境一致性:開發、測試、生產環境如何保持一致?

Google 的實踐經驗
Google 內部早在 2000 年代初期就面臨大規模服務管理的難題,并開發了名為 Borg 的集群管理系統(用于管理數十億容器的運行)。2014 年,Google 將 Borg 的核心思想開源,推出了 Kubernetes(意為“舵手”或“飛行員”),并將其捐贈給 CNCF(云原生計算基金會)

Kubernetes 的目標是提供一套標準化的容器編排方案,解決分布式系統的運維痛點。


2. Kubernetes 與 Docker 的關系
(1) Docker 的定位

Docker 是容器化技術的代表,解決了應用打包和環境一致性問題:
? 容器化:將應用及其依賴(如庫、配置文件)打包成輕量級、可移植的容器鏡像。
? 環境一致性:開發者的本地環境與生產環境完全一致,避免“在我機器上能跑”的問題。

(2) Kubernetes 的定位

Docker 解決了單個容器的運行問題,但在大規模場景中仍需解決:
? 容器調度:成百上千的容器如何分配到服務器?
? 服務發現:容器動態擴縮容時,如何自動更新網絡配置?
? 故障自愈:容器崩潰后如何自動重啟?
? 滾動更新:如何實現零停機更新?

Kubernetes 的作用
Kubernetes 是容器編排平臺,負責管理 Docker 容器的 生命周期,包括部署、擴縮容、網絡、存儲等。
? 關系比喻
? Docker 是“集裝箱”,負責封裝貨物(應用)。
? Kubernetes 是“港口調度系統”,負責決定集裝箱放在哪艘船(服務器)、如何運輸(網絡)、何時補充貨物(擴縮容)。

(3) 技術棧的演進

? Docker 單機模式:手動啟動容器,適合簡單場景。
? Docker Compose:單機多容器編排,適合本地開發。
? Kubernetes:跨節點、跨集群的容器編排,適合生產環境。


3. Kubernetes 的核心功能
  1. 自動化部署與擴縮容
    ? 根據 CPU/內存使用率或自定義指標自動調整副本數量(HPA)。
    ? 示例:電商大促時自動擴容后端服務以應對流量高峰。

  2. 服務發現與負載均衡
    ? 通過 Service 和 Ingress 暴露服務,自動分配 IP 和 DNS 名稱。
    ? 示例:前端應用通過服務名 user-service 訪問后端,無需關心具體 IP。

  3. 存儲編排
    ? 支持動態掛載云存儲(如 AWS EBS、NFS),解決容器數據持久化問題。
    ? 示例:數據庫容器的數據卷在 Pod 重啟后仍保留。

  4. 自我修復
    ? 自動重啟崩潰的容器、替換故障節點、重新調度 Pod。
    ? 示例:某節點宕機后,其上的 Pod 會被遷移到健康節點。

  5. 密鑰與配置管理
    ? 通過 ConfigMap 和 Secret 集中管理配置和敏感信息。
    ? 示例:數據庫密碼通過 Secret 注入,而非硬編碼在代碼中。

  6. 批處理任務
    ? 支持一次性任務(Job)和定時任務(CronJob)。
    ? 示例:每天凌晨執行數據備份任務。


4. 主要應用場景
(1) 微服務架構

? 場景特點:大量小型服務獨立部署、通信復雜。
? K8s 優勢
? 服務間通過 Service 通信,自動負載均衡。
? 每個服務可獨立擴縮容,提升資源利用率。

(2) 持續交付與 DevOps

? 場景特點:頻繁發布新版本,需快速迭代且不影響用戶體驗。
? K8s 優勢
? 滾動更新(Rolling Update)實現零停機部署。
? 與 CI/CD 工具(如 Jenkins、GitLab CI)無縫集成。

(3) 混合云與多云部署

? 場景特點:業務需跨公有云(AWS、Azure)和私有云運行。
? K8s 優勢
? 提供一致的部署和管理接口,避免云廠商鎖定。
? 示例:在 AWS 和本地數據中心同時運行服務。

(4) 大規模應用管理

? 場景特點:成千上萬的容器需要高效調度。
? K8s 優勢
? 優化資源分配,提高服務器利用率。
? 自動處理節點故障,保障業務連續性。

(5) 高可用與災備

? 場景特點:關鍵業務需 24/7 穩定運行。
? K8s 優勢
? 跨可用區(AZ)部署 Pod,避免單點故障。
? 自動檢測并替換不健康的實例。


5. 實際案例
  1. Spotify
    ? 音樂流媒體平臺,使用 Kubernetes 管理 1000+ 微服務,實現快速迭代和全球部署。
  2. Airbnb
    ? 從單體架構遷移到微服務,依賴 Kubernetes 處理每日數億次請求。
  3. Adidas
    ? 通過 Kubernetes 在混合云環境中運行電商平臺,支撐“黑五”大促流量。

6. 總結

? Kubernetes 的定位:容器編排的事實標準,解決分布式系統復雜性的核心工具。
? 與 Docker 的關系:互補而非替代,Docker 負責“容器化”,Kubernetes 負責“規模化”。
? 適用場景:微服務、CI/CD、混合云、大規模應用、高可用系統等。

通過 Kubernetes,企業可以專注于業務邏輯,而非底層基礎設施的運維細節,真正實現“云原生”。

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

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

相關文章

OpenCV 圖形API(35)圖像濾波-----中值模糊函數medianBlur()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 使用中值濾波器模糊圖像。 該函數使用帶有 ksizeksize 開口的中值濾波器來平滑圖像。多通道圖像的每個通道都是獨立處理的。輸出圖像必須與輸入…

03 UV

04 Display工具欄_嗶哩嗶哩_bilibili 講的很棒 ctrlMMB 移動點 s 打針 ss 批量打針

PTA:古風排版

中國的古人寫文字&#xff0c;是從右向左豎向排版的。本題就請你編寫程序&#xff0c;把一段文字按古風排版。 輸入格式&#xff1a; 輸入在第一行給出一個正整數N&#xff08;<100&#xff09;&#xff0c;是每一列的字符數。第二行給出一個長度不超過1000的非空字符串&a…

每日一題(小白)暴力娛樂篇30

順時針旋轉&#xff0c;從上圖中不難看出行列進行了變換。因為這是一道暴力可以解決的問題&#xff0c;我們直接嘗試使用行列轉換看能不能得到想要的結果。 public static void main(String[] args) {Scanner scan new Scanner(System.in);int nscan.nextInt();int mscan.next…

邊緣計算場景下的模型輕量化:TensorRT部署YOLOv7的端到端優化指南

一、邊緣計算場景下的技術挑戰與優化路徑 在邊緣設備&#xff08;如Jetson系列&#xff09;部署YOLOv7需兼顧模型精度、推理速度與功耗限制三重約束。TensorRT作為NVIDIA官方推理加速庫&#xff0c;通過算子融合、量化壓縮和內存復用等優化技術&#xff0c;可將模型推理速度提…

rce漏洞學習

什么是rce漏洞 rce漏洞又稱遠程代碼執行漏洞&#xff0c;它允許攻擊者在目標服務器上遠程執行任意代碼或操作系統命令。rce漏洞通常出現在 應用程序提供給用戶執行命令的接口&#xff0c;例如網頁的ping功能也就是網頁的url欄&#xff0c;如果不對上傳的數據進行嚴格的管控就可…

VMware下Ubuntu空間擴容

目的&#xff1a; Ubuntu空間剩余不足&#xff0c;需要對Ubuntu進行擴容。 使用工具&#xff1a; 使用Ubuntu系統中的gparted工具進行系統擴容。 前提&#xff1a; 1、電腦有多余的未分配磁盤空間&#xff0c;比如我的Ubuntu磁盤G盤是200G&#xff0c;現在快滿了&#xff0c…

國產數據庫與Oracle數據庫事務差異分析

數據庫中的ACID是事務的基本特性&#xff0c;而在Oracle等數據庫遷移到國產數據庫國產中&#xff0c;可能因為不同數據庫事務處理機制的不同&#xff0c;在遷移后的業務邏輯處理上存在差異。本文簡要介紹了事務的ACID屬性、事務的隔離級別、回滾機制和超時機制&#xff0c;并總…

Dockerfile 學習指南和簡單實戰

引言 Dockerfile 是一種用于定義 Docker 鏡像構建步驟的文本文件。它通過一系列指令描述了如何一步步構建一個鏡像&#xff0c;包括安裝依賴、設置環境變量、復制文件等。在現實生活中&#xff0c;Dockerfile 的主要用途是幫助開發者快速、一致地構建和部署應用。它確保了應用…

青少年編程與數學 02-016 Python數據結構與算法 22課題、并行算法

青少年編程與數學 02-016 Python數據結構與算法 22課題、并行算法 一、GPU并行計算矩陣乘法示例 二、MPI并行計算allgather操作示例 三、Python中的并行計算多線程并行計算多進程并行計算 四、SIMD并行計算SIMD并行計算示例 總結 課題摘要: 并行算法是通過同時執行多個任務或操…

20250412 機器學習ML -(3)數據降維(scikitlearn)

1. 背景 數學小白一枚&#xff0c;看推理過程需要很多時間。好在有大神們源碼和DS幫忙&#xff0c;教程里的推理過程才能勉強拼湊一二。 * 留意&#xff1a; 推導過程中X都是向量組表達: shape(feature, sample_n); 和numpy中的默認矩陣正好相反。 2. PCA / KPCA PCAKPCA(Li…

宿舍管理系統(servlet+jsp)

宿舍管理系統(servletjsp) 宿舍管理系統是一個用于管理學生宿舍信息的平臺&#xff0c;支持超級管理員、教師端和學生端三種用戶角色登錄。系統功能包括宿舍管理員管理、學生管理、宿舍樓管理、缺勤記錄、添加宿舍房間、心理咨詢留言板、修改密碼和退出系統等模塊。宿舍管理員…

現代測試自動化框架教程:Behave接口測試與Airtest移動端UI自動化

前言 我發現每天還是陸陸續續有人在看我之前寫的自動化框架搭建的文檔&#xff1b;即使很早就有新的框架&#xff0c;更好的選擇出來了&#xff1b;所以特別寫了這一篇目前大廠也在使用的&#xff1b;日活400w有實際落地的自動化測試架構方案&#xff1b; 隨著測試技術…

.NET Core DI(依賴注入)的生命周期及應用場景

在.NET中&#xff0c;依賴注入&#xff08;DI&#xff0c;Dependency Injection&#xff09;是一種設計模式&#xff0c;它通過將依賴關系注入到類中&#xff0c;而不是讓類自己創建依賴項&#xff0c;來降低類之間的耦合度。這使得代碼更加模塊化、靈活和易于測試。在.NET中&a…

設計模式 --- 觀察者模式

觀察者模式是一種行為設計模式&#xff0c;它定義了對象之間的一對多依賴關系&#xff0c;當一個對象的狀態發生改變時&#xff0c;所有依賴它的對象都會得到通知并自動更新。 優點&#xff1a; ??1.解耦性強??&#xff1a; ??觀察者&#xff08;訂閱者&#xff09;與主…

PasteForm框架開發之Entity多級嵌套的表單的實現

你相信么,使用PasteForm框架開發&#xff0c;管理端居然不要寫代碼&#xff01;&#xff01;&#xff01; 一起來看看PasteForm是否支持多級表模式(外表) 需求假設 假如有這么一個需求&#xff0c;就是訂單表&#xff0c;包含了多級的信息&#xff0c;比如這個訂單包含了哪些…

深入解析分類模型評估指標:ROC曲線、AUC值、F1分數與分類報告

標題&#xff1a;深入解析分類模型評估指標&#xff1a;ROC曲線、AUC值、F1分數與分類報告 摘要&#xff1a; 在機器學習中&#xff0c;評估分類模型的性能是至關重要的一步。本文詳細介紹了四個核心評估指標&#xff1a;ROC曲線、AUC值、F1分數和分類報告。通過對比這些指標…

多模態醫學AI框架Pathomic Fusion,整合了組織病理學與基因組的特征

小羅碎碎念 在醫學AI領域&#xff0c;癌癥的精準診斷與預后預測一直是關鍵研究方向。 這篇文章提出了Pathomic Fusion這一創新框架&#xff0c;致力于解決現有方法的局限。 傳統上&#xff0c;癌癥診斷依賴組織學與基因組數據&#xff0c;但組織學分析主觀易變&#xff0c;基因…

《Python星球日記》第27天:Seaborn 可視化

名人說&#xff1a;路漫漫其修遠兮&#xff0c;吾將上下而求索。—— 屈原《離騷》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 專欄&#xff1a;《Python星球日記》&#xff0c;限時特價訂閱中ing 目錄 一、Seabor…

【scikit-learn基礎】--『監督學習』之 決策樹回歸

決策樹算法是一種既可以用于分類&#xff0c;也可以用于回歸的算法。 決策樹回歸是通過對輸入特征的不斷劃分來建立一棵決策樹&#xff0c;每一步劃分都基于當前數據集的最優劃分特征。 它的目標是最小化總體誤差或最大化預測精度&#xff0c;其構建通常采用自上而下的貪心搜索…