在 Linux 上安裝 Minikube:輕松搭建本地 Kubernetes 單節點集群

?

🔥「炎碼工坊」技術彈藥已裝填!
點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】

?

一、Minikube 是什么?

Minikube 是 Kubernetes 官方推出的輕量級工具,專為開發者設計,用于在本地快速搭建單節點 Kubernetes 集群。無論是學習 Kubernetes 原理、開發調試應用,還是驗證容器編排流程,Minikube 都能提供一個輕便、可靠的本地環境。

核心優勢:

  • 開箱即用:一鍵啟動 Kubernetes 集群,無需復雜配置。
  • 多驅動支持:支持 Docker、VirtualBox、KVM 等多種底層驅動。
  • 資源占用低:最低僅需 2 核 CPU、2GB 內存即可運行。
  • ??跨平臺兼容:支持 Linux、macOS、Windows 系統。

二、系統要求與準備工作

最低系統要求:

組件要求
操作系統Ubuntu 18.04+/CentOS 7+/Debian 10+
CPU2 核及以上
內存2GB(推薦 4GB)
磁盤空間20GB 可用空間
依賴工具Docker、kubectl、conntrack

安裝前準備:

  1. 安裝 Docker
    參考官方文檔安裝最新版 Docker,并確保服務正常運行:
    sudo?systemctl?status?docker
  2. 安裝 kubectl
    Kubernetes 命令行工具,用于管理集群:
    curl?-LO?"https://storage.googleapis.com/kubernetes-release/release/$(curl?-s?https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
    chmod?+x?kubectl?&&?sudo?mv?kubectl?/usr/local/bin/
  3. 啟用虛擬化支持(僅 VirtualBox/KVM 用戶)
    檢查 CPU 是否支持虛擬化:
    egrep?-c?'(vmx|svm)'?/proc/cpuinfo
    輸出大于 0 則支持,否則需在 BIOS 中啟用虛擬化選項。

三、安裝 Minikube(以 Ubuntu 為例)

方法 1:通過二進制文件安裝(推薦)

#?下載最新版本
curl?-LO?https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64#?安裝到系統路徑
sudo?install?minikube-linux-amd64?/usr/local/bin/minikube?&&?rm?minikube-linux-amd64#?驗證安裝
minikube?version

方法 2:通過包管理器安裝(適用于部分發行版)

sudo?apt-get?install?minikube??#?Debian/Ubuntu
sudo?dnf?install?minikube??????#?Fedora

四、啟動 Minikube 集群

使用 Docker 作為驅動(推薦)

#?拉取國內鏡像(解決?gcr.io?鏡像拉取失敗問題)
docker?pull?registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.46
docker?tag?registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.46?gcr.io/k8s-minikube/kicbase:v0.0.46#?啟動集群
minikube?start?--driver=docker?--base-image=registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.46

使用 VirtualBox 作為驅動

minikube?start?--driver=virtualbox

關鍵啟動參數說明:

參數作用
--driver指定驅動(docker/virtualbox)
--base-image自定義基礎鏡像(解決網絡問題)
--memory/--cpus指定集群資源配額

五、驗證集群狀態

檢查節點狀態:

kubectl?get?nodes
#?輸出示例:
#?NAME???????STATUS???ROLES???????????AGE???VERSION
#?minikube???Ready????control-plane???1m????v1.28.0

查看集群信息:

minikube?status

部署首個應用:

kubectl?create?deployment?hello-minikube?--image=nginx
kubectl?expose?deployment?hello-minikube?--type=NodePort?--port=80
minikube?service?hello-minikube

六、常見問題與解決方案

問題 1:啟動失敗提示 "The system has insufficient memory for the pod"

原因:默認分配的 2GB 內存不足。
解決

minikube?stop
minikube?start?--memory=4096

問題 2:Docker 驅動報錯 "docker: the input device is not a TTY"

原因:用戶權限問題。
解決

sudo?usermod?-aG?docker?$USER??#?將當前用戶加入?docker?組
newgrp?docker???????????????????#?生效組權限
minikube?delete?--all?--purge???#?清理舊配置后重試

問題 3:鏡像拉取超時

原因:網絡問題導致無法訪問 gcr.io。
解決:使用?--base-image?參數指定國內鏡像(如上述步驟)。


七、Minikube 常用命令速查

命令作用
minikube start啟動集群
minikube stop停止集群
minikube delete刪除集群
minikube dashboard啟動可視化面板
minikube ssh登錄集群節點
minikube addons list查看插件(如 Ingress)

八、結語

Minikube 是探索 Kubernetes 的理想起點。通過本文的安裝指南,您已成功搭建本地集群,下一步可以嘗試部署微服務、配置 Ingress 或集成 CI/CD 流程。如需深入學習,建議參考?Minikube 官方文檔[1]?和 Kubernetes 認證培訓課程。

擴展閱讀:

  • 《Kubernetes 權威指南》
  • 《云原生開發最佳實踐》
  • Minikube GitHub 倉庫:https://github.com/kubernetes/minikube

引用鏈接

[1]?Minikube 官方文檔:?https://minikube.sigs.k8s.io/docs/

?

🚧 您已閱讀完全文99%!缺少1%的關鍵操作:
加入「炎碼燃料倉」
🚀 獲得:
√ 開源工具紅黑榜 √ 項目落地避坑指南
√ 每周BUG修復進度+1%彩蛋
(溫馨提示:本工坊不打灰工,只燒腦洞🔥)

?

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

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

相關文章

day41 python圖像識別任務

目錄 一、數據預處理:為模型打下堅實基礎 二、模型構建:多層感知機的實現 三、訓練過程:迭代優化與性能評估 四、測試結果:模型性能的最終檢驗 五、總結與展望 在深度學習的旅程中,多層感知機(MLP&…

JS數組 concat() 與擴展運算符的深度解析與最佳實踐

文章目錄 前言一、語法對比1. Array.prototype.concat()2. 擴展運算符(解構賦值) 二、性能差異(大規模數組)關鍵差異原因 三、適用場景建議總結 前言 最近工作中遇到了一個大規模數組合并相關的問題,在數據合并時有些…

一套qt c++的串口通信

實現了創建線程使用串口的功能 具備功能: 1.線程使用串口 2.定時發送隊列內容,防止粘包 3.沒處理接收粘包,根據你的需求來,handleReadyRead函數中,可以通過m_receiveBuffer來緩存接收,然后拆分數據來處理 源碼 seri…

設計模式-發布訂閱

文章目錄 發布訂閱概念發布訂閱 vs 監聽者例子代碼 發布訂閱概念 發布/訂閱者模式最大的特點就是實現了松耦合,也就是說你可以讓發布者發布消息、訂閱者接受消息,而不是尋找一種方式把兩個分離 的系統連接在一起。當然這種松耦合也是發布/訂閱者模式最大…

windows-cmd 如何查詢cpu、內存、磁盤的使用情況

在 Windows 中,您可以使用命令提示符(CMD)通過一些命令來查詢 CPU、內存和磁盤的使用情況。以下是常用的命令和方法: 1. 查詢 CPU 使用情況 使用 wmic 命令 wmic cpu get loadpercentage 這個命令會顯示當前 CPU 的使用百分比…

allWebPlugin中間件VLC專用版之截圖功能介紹

背景 VLC控件原有接口具有視頻截圖方法,即video對象的takeSnapshot方法,但是該方法返回的是一個IPicture對象,不適合在谷歌等現代瀏覽器上使用。因此,本人增加一個新的視頻截圖方法takeSnapshot2B64方法,直接將視頻截圖…

第Y5周:yolo.py文件解讀

🍨 本文為🔗365天深度學習訓練營 中的學習記錄博客🍖 原作者:K同學啊 本次任務:將YOLOv5s網絡模型中的C3模塊按照下圖方式修改形成C2模塊,并將C2模塊插入第2層與第3層之間,且跑通YOLOv5s。 任務…

寶塔安裝ssh證書報錯:/usr/bin/curl: symbol lookup error: curl_easy_header

原因: 你當前的 curl 命令版本是 7.70.0(不是系統默認版本,應該是你手動安裝的)。它鏈接的是 /usr/local/lib/libcurl.so.4,而不是 CentOS 系統默認的 /usr/lib64/libcurl.so.4。/usr/local/lib/libcurl.so.4 很可能是…

Apache SeaTunnel 引擎深度解析:原理、技術與高效實踐

Apache SeaTunnel 作為新一代高性能分布式數據集成平臺,其核心引擎設計融合了現代大數據處理架構的精髓。 Apache SeaTunnel引擎通過分布式架構革新、精細化資源控制及企業級可靠性設計,顯著提升了數據集成管道的執行效率與運維體驗。其模塊化設計允許用…

測試用例及黑盒測試方法

一、測試用例 1.1 基本要素 測試用例(Test Case)是為了實施測試而向被測試的系統提供的一組集合,這組集合包含:測試環境、操作步驟、測試數據、預期結果等4個主要要素。 1.1.1 測試環境 定義:測試執行所需的軟硬件…

硬件工程師筆記——運算放大電路Multisim電路仿真實驗匯總

目錄 1 運算放大電路基礎 1.1 概述 1.1.1 基本結構 1.1.2 理想特性 1.2 運算放大分析方法 1.2.1 虛短 1.2.2虛斷 1.2.3 疊加定理 2 同向比例運算放大電路 2.1 概述 2.1.1 基本電路結構 2.1.2 電路原理 2.2 仿真分析 2.2.1 電壓增益 2.2.2 相位分析 3 反向比例運…

板凳-------Mysql cookbook學習 (九)

第4章:表管理 4.0 引言 MySQL :: 員工樣例數據庫 :: 3 安裝 https://dev.mysql.com/doc/employee/en/employees-installation.html Employees 數據庫與幾種不同的 存儲引擎,默認情況下啟用 InnoDB 引擎。編…

MySQL省市區數據表

數據結構簡單展示一下 具體的可以點擊文章最后的鏈接地址下載 連接地址中有兩個文件一個是詳細的另一個是簡潔的 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for ln_new_region -- ---------------------------- DROP…

無人機報警器探測模塊技術解析!

一、運行方式 1. 頻譜監測與信號識別 全頻段掃描:模塊實時掃描900MHz、1.5GHz、2.4GHz、5.8GHz等無人機常用頻段,覆蓋遙控、圖傳及GPS導航信號。 多路分集技術:采用多傳感器陣列,通過信號加權合并提升信噪比,…

Oracle 導入導出 dmp 數據文件實戰

一、DMP文件基礎知識?? 1. ??DMP文件定義?? DMP(Data Pump Dump File)是Oracle數據庫專用的二進制格式文件,由expdp/impdp或舊版exp/imp工具生成。它包含數據庫對象的元數據(表結構、索引等)和實際數據&#x…

Coursier:安裝sbt

命令 ./cs launch sbt -- --version 的含義是??通過 Coursier(cs)工具啟動 SBT(Scala 構建工具),并查詢其版本信息??。具體解析如下: ??1. 命令結構解析?? ??./cs??: 這是 Coursie…

【深度學習】12. VIT與GPT 模型與語言生成:從 GPT-1 到 GPT4

VIT與GPT 模型與語言生成:從 GPT-1 到 GPT4 本教程將介紹 GPT 系列模型的發展歷程、結構原理、訓練方式以及人類反饋強化學習(RLHF)對生成對齊的改進。內容涵蓋 GPT-1、GPT-2、GPT-3、GPT-3.5(InstructGPT)、ChatGPT …

項目更改權限后都被git標記為改變,怎么去除

?問題描述: 當你修改了項目中的文件權限(如使用 chmod 改了可執行權限),Git 會把這些文件標記為“已更改”,即使內容并沒有發生任何改變。 ? 解決方法: ? 方法一:告訴 Git 忽略權限變化&am…

openfeignFeign 客戶端禁用 SSL

要針對特定的 Feign 客戶端禁用 SSL 驗證,可以通過自定義配置類實現。以下是完整解決方案: 1. 創建自定義配置類(禁用 SSL 驗證) import feign.Client; import feign.httpclient.ApacheHttpClient; import org.apache.http.conn…

移動端 UI自動化測試學習之Appium框架(包含adb調試工具介紹)

文章目錄 前言adb調試工具adb組成常用命令獲取程序的包名和界面名文件傳輸發送文件到手機從手機中拉取文件 獲取app啟動時間獲取手機日志其他命令 Appium 簡介工作原理圖 環境搭建安裝客戶端庫(appium lib)安裝Appium Server安裝JDK(自行下載…