在 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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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(自行下载…