当前位置: 首页 > ds >正文

在 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.xdnf.cn/news/10118.html

相关文章:

  • 项目管理工具Maven
  • java/mysql/ES下的日期类型分析
  • 【FlashRAG】本地部署与demo运行(二)
  • PHP7内核剖析 学习笔记 第九章 PHP基础语法的实现
  • [特殊字符] xbatis 一款好用 ORM 框架 1.8.8-M2 发布,节省 1/3 代码和时间的框架!!!
  • Drawio编辑器二次开发
  • 【pytorch学习】土堆pytorch学习笔记2
  • 【Linux】权限相关指令
  • Axure疑难杂症:中继器新增数据时如何上传并存储图片(玩转中继器)
  • 【仿生机器人系统设计】涉及到的伦理与安全问题
  • 数据基座觉醒!大数据+AI如何重构企业智能决策金字塔(上)
  • 代码随想录打卡|Day53 图论(Floyd 算法精讲 、A * 算法精讲 (A star算法)、最短路算法总结篇、图论总结 )
  • 历年武汉大学计算机保研上机真题
  • 服务器液冷:突破散热瓶颈,驱动算力革命的“冷静”引擎
  • 美国服务器文件系统的基本功能和命令
  • ansible-playbook 进阶 接上一章内容
  • dart实现单client连接的grpc server (以ip地址作判断)
  • Yum配置第三方源与本地源详解
  • 日常--OBS+mediamtx实现本地RTMP推流环境搭建(详细图文)
  • RPG17.蓝图函数库与轻重攻击连击
  • C++ 5.29 dddd
  • 【深度剖析】义齿定制行业数字化转型模式创新研究(上篇2:痛点和难点分析)
  • AI智能监控系统:赋能厂区安全管理的数智化革新
  • [Dify] 如何应对明道云API数据过长带来的Token超限问题
  • OAuth协议中的Token、Ticket
  • (NAT64)IPv6网络用户访问IPv4网络服务器(动态映射方式)
  • Linux服务器时间同步——Chronyd
  • MyBatis动态SQL
  • Baklib知识中台驱动业务创新
  • 【HarmonyOS 5】鸿蒙中的UIAbility详解(二)