目录
-
-
- [Minikube 安装与使用详细指南](#Minikube 安装与使用详细指南)
-
- [一、安装 Minikube](#一、安装 Minikube)
-
- [1. 前置条件](#1. 前置条件)
- [2. 安装步骤](#2. 安装步骤)
-
- [安装Docker (二进制)](#安装Docker (二进制))
- [安装minikube (二进制下载)](#安装minikube (二进制下载))
- [二、启动 Minikube 集群](#二、启动 Minikube 集群)
- [三、使用 kubectl 操作集群](#三、使用 kubectl 操作集群)
-
- [问题:coredns pod 不断重启 (coredns CrashLoopBackOff)](#问题:coredns pod 不断重启 (coredns CrashLoopBackOff))
- 四、部署应用示例
-
- [通过kubectl port-forward 外部访问](#通过kubectl port-forward 外部访问)
- [五、Minikube 常用命令](#五、Minikube 常用命令)
- [六、卸载 Minikube](#六、卸载 Minikube)
- 报错处理
-
Minikube 安装与使用详细指南
Minikube 是一个用于在本地运行单节点 Kubernetes 集群的工具,适合开发、测试和学习 Kubernetes。
官方文档:https://minikube.sigs.k8s.io/docs/
以下是详细的安装和使用步骤:
一、安装 Minikube
1. 前置条件
- 支持的操作系统:Linux、macOS、Windows
- 必须安装容器或虚拟机管理器(任选其一):
- Docker(推荐)
- HyperKit(macOS)
- VirtualBox
- KVM2(Linux)
- VMware
- 至少 2GB 内存、2 核 CPU、20GB 磁盘空间
- 🔔【重要】 如果Centos7操作系统,记得升级内核
2. 安装步骤
安装Docker (二进制)
安装minikube (二进制下载)
bash
# 安装 Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

二、启动 Minikube 集群
bash
# 启动集群(默认使用 Docker 驱动)
minikube start
# 若需指定驱动(如 VirtualBox)
minikube start --driver=virtualbox
# 验证集群状态
minikube status
# 输出示例:
# minikube: Running
# cluster: Running
# kubectl: Correctly Configured: pointing to minikube-vm at 192.168.49.2
这里我直接运行的minikube start 但是提示:
X 因 DRV_AS_ROOT 错误而退出:docker 驱动不应使用 root 权限。

所以我加了-- force 执行了 minikube start --force 还算顺利的启动了。
三、使用 kubectl 操作集群
Minikube 会自动配置 kubectl(Kubernetes 命令行工具),无需额外安装:
bash
# 将以下内容添加到你的 shell 配置中
alias kubectl="minikube kubectl --"
# 查看节点
kubectl get nodes
# 输出示例:
# NAME STATUS ROLES AGE VERSION
# minikube Ready control-plane 5m v1.28.3
# 查看集群信息
kubectl cluster-info
# 查看命名空间
kubectl get namespaces
# 查看默认命名空间的 Pod
kubectl get pods
问题:coredns pod 不断重启 (coredns CrashLoopBackOff)
bash
$ kubectl -n kube-system logs -f coredns-7db6d8ff4d-mp9pd
Listen: listen tcp :53: bind: permission denied

这个问题有复现 可以参考下面的minikube/issues 查看:
https://github.com/kubernetes/minikube/issues/18950
这里报错的原因主要应该是内核版本低导致的,我通过将内核版本 从 3.10.0 升级到 5.4.278 ,然后重启服务器,解决了。 升级内核的步骤可以参考我这篇文章。
Centos7 停止维护一年后,还有多少人在使用,离线升级内核记录&&替代方案选型
四、部署应用示例

以部署一个 Nginx 为例:
bash
# 创建 Deployment
kubectl create deployment hello-minikube--image=nginx:1.23
# 查看 Deployment
kubectl get deployments
# 暴露端口(创建 Service)
kubectl expose deployment hello-minikube --type=NodePort --port=80
# 查看 Service
# 输出示例:
[root@work ~]# kubectl get svc hello-minikube
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-minikube NodePort 10.99.147.10 <none> 80:31852/TCP 62m
# 访问应用(Minikube 提供快捷命令)
[root@work bin]# minikube service hello-minikube
┌───── ┬────────┬────── ┬───────────── ┐
│ NAMESPACE │ NAME │ TARGET PORT │ URL │
├───── ┼────────┼────── ┼───────────── ┤
│ default │ hello-minikube │ 80 │ http://192.168.49.2:31852 │
└───── ┴────────┴────── ┴───────────── ┘
* 正通过默认浏览器打开服务 default/hello-minikube...
http://192.168.49.2:31852
# 会自动打开浏览器访问应用
# 因为我是在Linux Centos7 上,没有浏览器,通过curl命令执行:

通过kubectl port-forward 外部访问
使用 kubectl port-forward 连接到在 Kubernetes 集群中运行的 pod 服务。 这种类型的连接对很有用
bash
kubectl port-forward --address 0.0.0.0 pod/hello-minikube-54db9457b4-fqjz7 18081:80

Window主机,访问Centos7主机服务地址: http://192.168.37.200:18081/

五、Minikube 常用命令
bash
# 停止集群
minikube stop
# 删除集群(重置环境)
minikube delete
# 查看集群 IP
minikube ip
# 进入 Minikube 节点内部
minikube ssh
# 启用附加组件(如 Dashboard、Ingress 等)
minikube addons enable dashboard # 启用 Dashboard
minikube addons enable ingress # 启用 Ingress 控制器
# 打开 Dashboard(图形化界面)
minikube dashboard
# 会自动打开浏览器访问 Dashboard
# 查看已启用的附加组件
minikube addons list
六、卸载 Minikube
bash
# Linux/macOS
minikube delete
sudo rm -rf /usr/local/bin/minikube
# Windows(Chocolatey)
minikube delete
choco uninstall minikube