K8s 和 Docker的區別

一、各自誕生背景——為什么需要兩個東西

  1. Docker(2013,Docker Inc.)
    ? 目的:解決“我的代碼在你機器跑不起來”的經典環境問題。
    ? 做法:用 Linux 內核的 cgroup/namespace 做輕量隔離,把“應用 + 依賴”打成鏡像,單機一條 docker run 就能起容器。
    ? 局限:單機玩具。一旦容器多了、機器多了,手動啟停、網絡互通、故障恢復、滾動升級全成了噩夢。

  2. Kubernetes(2014,Google 內部 Borg 系統開源)
    ? 目的:讓成千上萬臺機器像一臺“邏輯超級機”來跑容器。
    ? 做法:
    – 引入 Pod(最小調度單元)、Deployment、Service 等抽象;
    – 用控制平面(API Server + Scheduler + Controller Manager + etcd)統一決策;
    – kubelet 在每個節點上當“小管家”,真正落地創建/銷毀容器。
    → 于是才有了“聲明式 YAML → 自動擴縮、滾動升級、自愈、負載均衡”的生產級能力。

────────────────
二、功能定位——“造集裝箱” vs “管整個港口”

維度DockerKubernetes
設計目標讓單個容器能 build/ship/run讓 N 個容器跨機集群自動編排
管理范圍一臺主機幾十~幾千臺主機
核心對象image / containerPod / Deployment / Service
典型命令docker build docker runkubectl apply -f xxx.yaml
網絡/存儲單機橋接、卷跨主機 CNI、CSI 插件
自愈能力容器掛了自動重啟、節點掛了自動漂移
版本升級手動 stop & run聲明式滾動升級、回滾
適用場景本地開發、CI 打鏡像、小站點微服務、生產環境、大規模集群

────────────────
三、運行時細節——K8s 到底還用不用 Docker?

  1. 2019 以前
    kubelet 通過 dockershim 調用 Docker Engine → 容器跑起來。

  2. 2020.12(K8s 1.20)
    dockershim 被標記棄用;K8s 官方說“Docker 作為高層工具鏈沒問題,但運行時請用更輕量的 containerd 或 CRI-O”。

  3. 2022.5(K8s 1.24)
    dockershim 代碼徹底移除。現在 kubelet 通過 CRI(Container Runtime Interface)直接對接 containerd/CRI-O。
    ? containerd:Docker 公司捐給 CNCF 的底層運行時,專注“拉鏡像 → 起容器 → 殺容器”。
    ? CRI-O:紅帽主導,完全為 K8s 裁剪,體積更小。

一句話:
– 你仍然可以用 Docker 做鏡像(docker build 兼容性最好);
– 真正在 K8s 節點上跑容器時,默認換成了 containerd/CRI-O,與 Docker 守護進程再無關系。

────────────────
四、實戰選擇建議

階段/需求推薦組合
個人開發、CI 打鏡像Docker Desktop / Docker Engine
單機多容器快速原型Docker Compose
生產集群(<10 節點)k3s + containerd
生產集群(>10 節點)原生 Kubernetes + containerd/CRI-O
團隊不熟 K8s,業務又簡單Docker Swarm 或云廠商托管 K8s

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

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

相關文章

10.0 UML的介紹以及VisualStudio中查看類圖

本文介紹UML圖的含義、以及如何在VisualStudio中查看類圖。 一、UML圖介紹 UML(Unified Modeling Language,統一建模語言)是一種標準化的建模語言,用于可視化、規范、構建和記錄軟件系統的各個方面的圖表工具。 UML圖分為結構圖和行為圖兩大類: 結構圖?…

【Virtual Globe 渲染技術筆記】6 著色

著色&#xff08;Shading&#xff09; 曲面細分只是地球渲染的第一步。接下來是著色——通過模擬光線與材質的相互作用&#xff0c;計算每個像素的最終顏色。本節先回顧基礎的光照與紋理映射&#xff0c;再講解虛擬地球特有的經緯網格和夜景燈光效果。6.1 光照&#xff08;Ligh…

OpenCV Python——圖像拼接(一)(圖像拼接原理、基礎知識、單應性矩陣 + 圖像變換 + 拼接)

1 圖像拼接基礎知識1.1 特征匹配 原理及代碼示例1.2 單應性矩陣 原理及代碼示例2 圖像拼接&#xff08;一&#xff09;&#xff08;直接拼接&#xff09;3 圖像拼接&#xff08;二&#xff09;&#xff08;單應性矩陣 圖像變換 拼接&#xff09;3.1 單應性矩陣函數3.2 拼接函…

Git 中切換到指定 tag

在 Git 中切換到指定 tag&#xff08;比如 v1.22.1&#xff09;的正確做法如下&#xff1a;1?? 查看已有的 taggit tag會列出所有可用的版本&#xff0c;比如&#xff1a;v1.21.0 v1.22.0 v1.22.1 v1.23.02?? 切換到指定 taggit checkout tags/v1.22.1 -b v1.22.1解釋&…

rust 從入門到精通之變量和常量

變量和常量 隨著軟件系統安全的重要性與日俱增, rust這門集聚高并發, 安全, 適配云環境的編程語言在市場上得到了越來越高的認可和關注。但其復雜的機制使其難以學習。且其很多特性對于其他語言是全新的&#xff0c;這加劇了學習的困難程度。教程主要針對rust基礎進行講解, 雖然…

2508C++,支持rdma通信的高性能rpc庫

原文 [重磅]支持rdma通信的高性能的rpc庫–yalantinglibs.coro_rpc yalantinglibs的coro_rpc是基于C20的協程的高性能的rpc庫,提供了簡潔易用的接口,讓用戶幾行代碼就可實現rpc通信,現在coro_rpc除了支持tcp通信之外還支持了rdma通信(ibverbs). 通過簡單示例來感受一下rdma通…

FastAPI + React:現代 Web 前后端分離開發的全棧實踐指南

一、為什么選 FastAPI React&#xff1f; 性能&#xff1a;FastAPI 基于 Starlette Uvicorn&#xff0c;QPS 與 Node/Go 同級&#xff0c;實測 3 倍于 Flask&#xff1b;React 虛擬 DOM 代碼分割&#xff0c;首屏 < 1.2 s。效率&#xff1a;FastAPI 內置 Swagger/OpenAPI…

嵌入式硬件篇---電平轉換電路

電平轉換電路是電子電路中用來實現不同電壓信號之間轉換的關鍵電路&#xff0c;比如把 3.3V 的信號轉換成 5V&#xff0c;或者把 5V 轉換成 1.8V&#xff0c;確保不同電壓的芯片、模塊能正常通信。下面用通俗易懂的方式介紹幾種常見的電平轉換電路&#xff1a;一、電阻分壓電路…

SAP ABAP IS SUPPLIED

效果 此謂詞表達式用于檢查過程的某個形式參數“para”是否已賦值或被請求使用。如果在調用時實際參數被賦值給了該形式參數&#xff0c;則該表達式為真。 這種關系表達式僅能在函數模塊和方法中使用。而對于“para”而言&#xff0c;所有可選的形參都可以進行指定。 加上“NOT…

視頻內容提取與AI總結:提升學習效率的實用方法

文章目錄1、前言2、方法介紹2.1 B站視頻處理方案2.2 通用視頻處理方案2.3 AI內容總結3、實際效果4、使用建議5、技術發展趨勢6、總結&#x1f343; 作者介紹&#xff1a;25屆雙非本科網絡工程專業&#xff0c;阿里云專家博主&#xff0c;專注于 AI 原理、AI 應用開發、AI 產品設…

JVM 面試精選 20 題

目錄1. 什么是 JVM、JDK 和 JRE&#xff1f;它們之間的關系是什么&#xff1f;2. Java 內存區域&#xff08;運行時數據區&#xff09;有哪些&#xff1f;3. 說說你對 JVM 垃圾回收機制的理解。4. 常用的垃圾回收算法有哪些&#xff1f;5. 什么是 Minor GC、Major GC 和 Full G…

CMIP6 氣候模式核心特性解析

在全球氣候變化研究中&#xff0c;CMIP6&#xff08;第六次耦合模式比較計劃&#xff09;的氣候模式是關鍵工具。以下從研發背景與核心能力角度&#xff0c;解析五類主流模式的技術特點與適用場景。 一、主流模式技術特性 1. CanESM5/CanESM5-1&#xff08;加拿大環境與氣候變…

【牛客刷題】BM63 跳臺階:三種解法深度解析(遞歸/DP動態規劃/記憶化搜索)

文章目錄 一、題目介紹 1.1 題目描述 1.2 示例 二、算法設計思路 2.1 核心問題分析 2.2 斐波那契數列關系 三、流程圖 解法1:遞歸法(自頂向下) 解法2:動態規劃(自底向上) 解法3:記憶化搜索(遞歸優化) 解法4: 優化DP流程(推薦) 四、解法實現 五、復雜度分析對比 六、…

《解構WebSocket斷網重連:指數退避算法的前端工業級實踐指南》

WebSocket作為客戶端與服務器雙向通信的核心載體,支撐著從在線協作、金融行情到即時通訊等各類高實時性場景。然而,網絡環境的動態變化—從用戶設備的Wi-Fi與蜂窩網絡切換,到公共網絡的臨時擁塞,再到服務器的短暫重啟—都可能導致WebSocket連接中斷,進而引發數據傳輸停滯、…

醫療潔凈間的“隱形助手”:富唯智能復合機器人如何重塑手術器械供應鏈

當手術刀片在無影燈下傳遞時&#xff0c;0.01mm的抓取偏差可能意味著感染風險——而富唯智能復合機器人以0.02mm的重復定位精度與99.999%無菌操作的硬實力&#xff0c;正成為高端醫療產線中替代人力的關鍵技術支點。一、醫療上下料的三大痛點&#xff1a;精度、潔凈與連續性1.毫…

《設計模式》工廠方法模式

1.工廠方法模式&#xff08;Factory Method&#xff09;定義 定義一個用于創建對象的接口&#xff0c;讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。 1.1 UML圖&#xff1a; 主要有4個對象&#xff1a; 抽象工廠&#xff08;Abstract Creator&#xf…

冒泡排序——簡單理解和使用

閱前聲明&#xff1a;如果想直接了解冒泡排序的簡化思想&#xff0c;請跳至文章尾部在介紹之前&#xff0c;我們先看一個用到該功能的實戰訓練&#xff08;本人也是從中開始認識到冒泡排序這個函數定義&#xff09;對于小白來說&#xff0c;我的思路如下&#xff1a;1.題目中涉…

AI應用商業化加速落地 2025智能體爆發與端側創新成增長引擎

今年以來&#xff0c;人工智能 (AI) 正在進入從算力投入到云服務消耗再到商業化收入&#xff0c;最終回到算力再投入的良性循環&#xff0c;而 AI 應用的起量正是推動這一飛輪效應的關鍵。7 月 31 日&#xff0c;國務院常務會議審議通過了《關于深入實施 “人工智能 ” 行動的意…

Pytest測試框架基礎及進階

Pytest測試框架基礎# Pytest測試框架介紹# Pytest是Python一款三方測試框架&#xff0c;用于編寫和運行單元測試、集成測試和功能測試。Pytest測試框架具有簡單、靈活、易于擴展等特點&#xff0c;被廣泛應用于Python項目的測試工作中。 Pytest主要特點&#xff1a; 簡單易用…

航空裝備先進加工工藝與制造技術論壇——2025成都航空裝備展

300參展企業 11500㎡展區面積 7大專業展區 12000觀眾規模15同期會議 160發言嘉賓 5000參會嘉賓 100媒體報道航空工業飛速發展&#xff0c;先進加工工藝與制造技術成為了支撐航空裝備性能提升、質量保障和產能優化的核心基石。為探索前沿技術路徑、凝聚行業創新力量&#xff0c;…