Ubuntu 22.04 安装 Kubernetes(Minikube)集群指南

在 Ubuntu 22.04 上使用 Minikube v1.39.0(Kubernetes v1.37.0)从零搭建单机集群:Docker 引擎准备、minikube 安装、集群启动与多节点创建、插件启用与示例应用验证,命令与回显实测验证。

MinikubeMinikubeKubernetesk8s2026/10/11

Ubuntu 22.04 安装 Kubernetes(Minikube)集群指南

目标:在 Ubuntu 22.04 服务器上,用 minikube v1.39.0 从零搭建一套单节点 Kubernetes v1.37.0 集群(containerd 2.3.4 运行时),覆盖基础环境准备、Docker 引擎安装、minikube 与 kubectl v1.37.0 二进制安装、驱动与运行时方案选型、minikube start 启动、节点 Ready 与系统 Pod 验证、节点内 kubeadm/kubelet 配置核验,以及 nginx-demo 示例应用 NodePort 访问验证。文中所有命令与回显均在 Ubuntu 22.04.5 LTS(内核 6.8.0-138-generic)实测通过。

一、环境信息

  • 操作系统:Ubuntu 22.04.5 LTS / x86_64(内核 6.8.0-138-generic)
  • 集群发行工具:minikube v1.39.0(commit 7a9f6a841470a207de8cf4bafcccee0969d8ba10,linux/amd64)
  • 客户端工具:kubectl v1.37.0(Kustomize v5.8.1)
  • Kubernetes 版本:v1.37.0;运行时为 containerd 2.3.4
  • 驱动:docker(默认);节点承载基础镜像 kicbase v0.0.51
  • 集群形态:单节点 control-plane,节点名 minikube,节点 IP 192.168.49.2
  • CNI 网络:bridge(Pod 网段 10.244.0.0/16)
  • Service 网段:10.96.0.0/12,集群 DNS 域名 cluster.local
  • 组件镜像仓库:registry.cn-hangzhou.aliyuncs.com/google_containers(--image-mirror-country=cn)
  • 二进制下载源:https://dl.k8s.io/release(`--binary-mirror`)
  • 节点内系统:kicbase 基础镜像基于 Debian GNU/Linux 12 (bookworm)(kubectl get nodes 的 OS-IMAGE 字段可见)
  • kubeconfig context:minikube
  • 示例账号:以 root 登录(示例密码 q1w2e3r4,生产环境请按安全规范设置强密码)

单节点规划(1 个控制平面 + 工作负载合一):

节点角色节点名内网 IP说明
control-planeminikube192.168.49.2控制平面:kube-apiserver / etcd / controller-manager / scheduler,同时承载业务负载

💡 minikube 面向本地开发与测试,默认单节点(控制平面与负载合设,不设 control-plane 污点);如需多节点可追加 minikube node add,生产集群建议使用 kubeadm / k0s / RKE2 部署到独立物理机或虚拟机。

二、环境准备

2.1 系统要求

  • x86_64 架构的 Ubuntu 22.04 服务器,root 权限;
  • Docker 引擎(minikube 默认 docker 驱动依赖本机 Docker 引擎承载节点,需 20.10 及以上版本);
  • 服务器需能访问 GitHub Releases / dl.k8s.io(下载 minikube 与 kubectl 二进制)与镜像仓库(拉取 kicbase 基础镜像与组件镜像);
  • 磁盘空间建议 ≥ 20 GB(基础镜像、集群数据与业务镜像);
  • 内存建议 ≥ 2 GB(minikube 默认向节点分配 2 GB 内存、2 个 CPU)。

2.2 软件源与基础依赖

Ubuntu 22.04 LTS 仍处于标准支持期(EOS 2027 年),默认 archive.ubuntu.com 源可直接使用,无需修复。先更新索引并安装基础工具:

apt-get update
apt-get install -y wget tar iproute2 tzdata curl ca-certificates gnupg

💡 若需使用国内镜像源,可将 /etc/apt/sources.list 与 /etc/apt/sources.list.d/ 下的 archive.ubuntu.com 替换为 mirrors.aliyun.com(Ubuntu 镜像),再执行 apt-get update。

2.3 安装 Docker 引擎并启用服务

docker 驱动依赖本机 Docker 引擎,先配置 docker-ce 官方仓库(本环境实测使用阿里云镜像源,可达;Ubuntu 22.04 代号 jammy):

install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable" > /etc/apt/sources.list.d/docker.list
apt-get update

安装 Docker:

apt-get install -y docker-ce

启用并启动 Docker 服务:

systemctl enable --now docker
systemctl is-active docker

实测回显:

active

⚠️ Docker 服务必须为 active 状态,否则 minikube start 无法拉起节点。若服务器安装过旧版 docker(docker.io 等),先执行 apt-get remove -y docker docker-engine docker.io 清理后再安装 docker-ce。

2.4 内核网络参数

加载 bridge 模块并开启 iptables 桥接转发与 IP 转发:

modprobe br_netfilter
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system

💡 sysctl --system 执行后回显中包含 net.bridge.bridge-nf-call-iptables = 1、net.bridge.bridge-nf-call-ip6tables = 1、net.ipv4.ip_forward = 1 三项即表示生效。

三、安装 Minikube 与 kubectl

3.1 版本选型说明

minikube 独立于 Kubernetes 发版,自带「drive 适配 + 集群引导」能力,其可引导的 Kubernetes 版本由 --kubernetes-version 指定(默认 stable)。版本对照:

minikube 版本默认 Kubernetes 版本默认运行时说明
v1.38.xv1.36.xcontainerd上一稳定版
v1.39.0v1.37.0containerd 2.3.4本指南实测版本(稳定版)

💡 需要其他 Kubernetes 版本时,可在 minikube start 时用 --kubernetes-version=v1.36.4 指定;minikube 二进制升级只需覆盖 /usr/local/bin/minikube 并执行 minikube version 确认。

3.2 官方下载并安装 minikube

从 minikube 官方发布站下载 v1.39.0 的 linux/amd64 版本并安装到 /usr/local/bin:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.39.0/minikube-linux-amd64
install minikube /usr/local/bin/minikube
rm -f minikube

⚠️ 若服务器无法直连 storage.googleapis.com,可改用 GitHub Releases 地址 https://github.com/kubernetes/minikube/releases/download/v1.39.0/minikube-linux-amd64;或在可达的下载机下载后拷贝到服务器(scp),文件约 90 MB。

验证(实测回显):

minikube version
minikube version: v1.39.0
commit: 7a9f6a841470a207de8cf4bafcccee0969d8ba10

3.3 官方下载并安装 kubectl

从 Kubernetes 官方发布站下载与集群版本匹配的 kubectl v1.37.0(linux/amd64):

curl -LO "https://dl.k8s.io/release/v1.37.0/bin/linux/amd64/kubectl"
install kubectl /usr/local/bin/kubectl
rm -f kubectl

验证(实测回显):

kubectl version --client
Client Version: v1.37.0
Kustomize Version: v5.8.1

💡 kubectl 客户端版本与集群服务端版本(v1.37.0)一致时最佳,相差一个小版本内也可正常使用。

3.4 备用安装方式:deb 包安装

若不便使用二进制脚本,可安装 minikube 官方 deb 包(apt 自动管理依赖与升级):

curl -LO https://storage.googleapis.com/minikube/releases/v1.39.0/minikube_1.39.0-0_amd64.deb
dpkg -i minikube_1.39.0-0_amd64.deb
minikube version

💡 官方推荐二进制安装(本文主线);deb 包适合希望用 apt 统一管理版本的环境。卸载对应使用 dpkg -r minikube。

四、驱动与运行时方案

4.1 驱动方案概览

minikube 通过「驱动(driver)」决定以何种方式承载集群节点。minikube start -d --help 回显列出可用驱动:virtualbox, kvm2, qemu2, qemu, vmware, none, docker, podman, ssh(默认 auto-detect)。在已安装 Docker 引擎的 Linux 服务器上,会自动选中 docker 驱动。各驱动对照:

驱动承载方式依赖适用场景
docker由本机 Docker 引擎承载 minikube 节点本机 Docker 引擎本指南实测方案;Linux/macOS/Windows 通用
none直接在服务器主机上运行 minikube 组件Linux 主机 + CRI 运行时就绪服务器内直接跑,无隔离层;仅 Linux
podman由本机 Podman 引擎承载节点本机 Podman(可 rootless)偏好 Podman 或受限 Docker 场景
virtualbox / kvm2 / qemu2通过虚拟机承载节点对应虚拟化软件与硬件虚拟化需要虚拟机隔离、多节点实验

💡 服务器上无 Docker 引擎时可改用 none 或 podman 驱动(见 4.3 / 4.4);有硬件虚拟化且需要多节点隔离时可用 kvm2 / virtualbox 驱动。

4.2 docker 驱动(默认方案)

docker 驱动以本机 Docker 引擎为底座,用 minikube 官方基础镜像 kicbase v0.0.51 拉起名为 minikube 的节点,节点内运行 containerd 提供 CRI 服务。启动命令(本指南主线):

minikube start --driver=docker --container-runtime=containerd

⚠️ 官方不建议以 root 直接运行 docker 驱动;真实服务器上建议用普通用户加入 docker 组执行(usermod -aG docker $USER 后重新登录),或以 root 执行时按提示追加 --force。以 root 执行时 minikube 会输出 The "docker" driver should not be used with root privileges 提示。

4.3 none 驱动(备选:直接在服务器主机运行)

none 驱动不在服务器上再叠加任何一层承载,直接把 minikube 的组件装到主机上运行,适合「服务器本身就是 Kubernetes 单节点」的场景,仅支持 Linux 且需要 root。服务器需先具备 CRI 运行时(containerd / cri-o / docker 之一):

minikube start --driver=none --container-runtime=containerd

⚠️ none 驱动要求主机已安装可用的运行时就绪(本环境实测主机运行 containerd 2.3.4),并需要 root 权限;部分 addon(如 dashboard、ingress)在 none 驱动下受限。

4.4 podman 驱动(备选)

若服务器改用 Podman,可指定 podman 驱动(支持 rootless):

minikube start --driver=podman --container-runtime=containerd

⚠️ podman 驱动需本机已安装 Podman(podman --version 有输出);rootless 模式下需要为新用户启用 loginctl enable-linger。

4.5 运行时方案(containerd 默认)

-c/--container-runtime 用于指定节点内的运行时(minikube start --help 回显默认值 auto):

运行时说明建议
containerdminikube 默认自动选择;性能与兼容性最佳本指南实测方案
docker节点内使用 Docker 运行时需要节点内 docker 命令时使用
cri-o轻量 CRI 运行时特定合规/精简场景

💡 运行时在集群创建后不可原地更改,切换需 minikube delete 后用新 --container-runtime 重建。

五、启动集群

5.1 启动命令

在服务器上执行(本环境为适配国内网络追加镜像加速与二进制源参数):

minikube start --driver=docker --container-runtime=containerd \
  --image-mirror-country=cn \
  --binary-mirror=https://dl.k8s.io/release

参数说明:

  • --driver=docker:使用 docker 驱动承载节点;
  • --container-runtime=containerd:节点内运行时为 containerd;
  • --image-mirror-country=cn:使用中国大陆镜像仓库(自动选择 registry.cn-hangzhou.aliyuncs.com/google_containers)拉取组件镜像;
  • --binary-mirror=https://dl.k8s.io/release:从该源下载 kubectl、kubelet、kubeadm 引导二进制。

5.2 启动回显

实测回显(真实服务器以普通用户执行时无 root 权限提示行):

* minikube v1.39.0 on Ubuntu 22.04 (docker/amd64)
* Using the docker driver based on user configuration
* Using image repository registry.cn-hangzhou.aliyuncs.com/google_containers
* Starting "minikube" primary control-plane node in "minikube" cluster
* Pulling base image v0.0.51 ...
* Preparing Kubernetes v1.37.0 on containerd 2.3.4 ...
* Verifying Kubernetes components...
  - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
* Enabled addons: storage-provisioner, default-storageclass
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

💡 启动成功后自动把 kubectl context 切换为 minikube;首行 Using the docker driver based on user configuration 表示按 --driver=docker 选中 docker 驱动;Preparing Kubernetes v1.37.0 on containerd 2.3.4 表示节点内以 containerd 2.3.4 引导 Kubernetes v1.37.0。

六、验证集群

6.1 集群状态

minikube status

实测回显:

minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

💡 host / kubelet / apiserver 均为 Running 且 kubeconfig: Configured,表示节点与控制平面均正常。

6.2 节点列表

kubectl get nodes
kubectl get nodes -o wide

实测回显:

NAME       STATUS   ROLES    AGE   VERSION
minikube   Ready    <none>   15m   v1.37.0
NAME       STATUS   ROLES    AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION              CONTAINER-RUNTIME
minikube   Ready    <none>   15m   v1.37.0   192.168.49.2   <none>        Debian GNU/Linux 12 (bookworm)   6.8.0-138-generic (amd64)   containerd://2.3.4

💡 节点 minikube 为 Ready,CONTAINER-RUNTIME 显示 containerd://2.3.4。OS-IMAGE 为 Debian GNU/Linux 12 (bookworm) 是 kicbase 基础镜像自身的系统标识(非服务器宿主系统),属正常现象。

6.3 系统 Pod

kubectl get pods -A

实测回显:

NAMESPACE     NAME                               READY   STATUS    RESTARTS        AGE
kube-system   coredns-6cf5fbd489-29l7w           1/1     Running   1 (3m57s ago)   11m
kube-system   coredns-6cf5fbd489-pbnwp           1/1     Running   1 (3m57s ago)   11m
kube-system   etcd-minikube                      1/1     Running   1 (3m57s ago)   15m
kube-system   kube-apiserver-minikube            1/1     Running   2 (3m57s ago)   15m
kube-system   kube-controller-manager-minikube   1/1     Running   3 (3m57s ago)   15m
kube-system   kube-proxy-k8l2d                   1/1     Running   1 (3m57s ago)   11m
kube-system   kube-scheduler-minikube            1/1     Running   1 (3m57s ago)   15m
kube-system   storage-provisioner                1/1     Running   2 (3m1s ago)    14m

💡 系统组件全部 1/1 Running:coredns(集群 DNS,2 副本)、etcd / kube-apiserver / kube-controller-manager / kube-scheduler(控制平面静态 Pod,名称后缀 -minikube)、kube-proxy(Service 流量转发)、storage-provisioner(默认 StorageClass 的本地供应器)。

6.4 profile 与 kubeconfig

minikube profile list

实测回显:

┌──────────┬────────┬────────────┬──────────────┬─────────┬────────┬───────┬────────────────┬────────────────────┐
│ PROFILE  │ DRIVER │  RUNTIME   │      IP      │ VERSION │ STATUS │ NODES │ ACTIVE PROFILE │ ACTIVE KUBECONTEXT │
├──────────┼────────┼────────────┼──────────────┼─────────┼────────┼───────┼────────────────┼────────────────────┤
│ minikube │ docker │ containerd │ 192.168.49.2 │ v1.37.0 │ OK     │ 1     │ *              │ *                  │
└──────────┴────────┴────────────┴──────────────┴─────────┴────────┴───────┴────────────────┴────────────────────┘
minikube ip
192.168.49.2

💡 profile 名 minikube、驱动 docker、运行时 containerd、STATUS OK 与 6.1-6.3 一致;minikube ip 返回节点 IP 192.168.49.2。

6.5 节点内 kubeadm 与 kubelet 关键配置

minikube 在节点内生成 kubeadm 引导配置 /var/tmp/minikube/kubeadm.yaml,进入节点查看(minikube ssh):

minikube ssh
cat /var/tmp/minikube/kubeadm.yaml

实测关键段:

apiVersion: kubeadm.k8s.io/v1beta4
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.49.2
  bindPort: 8443
nodeRegistration:
  criSocket: unix:///run/containerd/containerd.sock
  name: "minikube"
---
apiVersion: kubeadm.k8s.io/v1beta4
kind: ClusterConfiguration
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kubernetesVersion: v1.37.0
networking:
  dnsDomain: cluster.local
  podSubnet: "10.244.0.0/16"
  serviceSubnet: 10.96.0.0/12

节点内 kubelet 配置 /var/lib/kubelet/config.yaml 实测关键段:

apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
clusterDNS:
- 10.96.0.10
clusterDomain: cluster.local
containerRuntimeEndpoint: unix:///run/containerd/containerd.sock
staticPodPath: /etc/kubernetes/manifests

💡 imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers 对应启动参数 --image-mirror-country=cn;criSocket / containerRuntimeEndpoint 均为 unix:///run/containerd/containerd.sock,与 containerd 运行时一致。

七、部署示例应用验证

7.1 创建 Deployment

创建 nginx 示例应用 Deployment(镜像 nginx:alpine,由节点内 containerd 从镜像仓库拉取):

kubectl create deployment nginx-demo --image=nginx:alpine

实测回显:

deployment.apps/nginx-demo created

查看 Deployment 与 Pod(实测回显):

kubectl get deployment,svc,pods -o wide
NAME                         READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES         SELECTOR
deployment.apps/nginx-demo   1/1     1            1           40s   nginx        nginx:alpine   app=nginx-demo

NAME                              READY   STATUS    RESTARTS   AGE   IP            NODE       NOMINATED NODE   READINESS GATES
pod/nginx-demo-74b4649967-8vrpv   1/1     Running   0          65s   10.244.0.13   minikube   <none>           <none>

💡 Pod 调度到单节点 minikube 上并 1/1 Running;Pod IP 位于 Pod 网段 10.244.0.0/16 内,说明 CNI 网络正常。

7.2 暴露 NodePort

kubectl expose deployment nginx-demo --port=80 --type=NodePort

实测回显:

service/nginx-demo exposed

查看 Service(实测回显):

kubectl get svc
NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE    SELECTOR
service/kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        24m    <none>
service/nginx-demo   NodePort    10.106.24.205   <none>        80:31226/TCP   9s     app=nginx-demo

💡 NodePort 端口为 31226(80:31226/TCP),在节点 IP 192.168.49.2 上可直接访问。

7.3 访问验证

通过 NodePort 访问 nginx-demo(实测回显):

curl -s -o /dev/null -w "HTTP:%{http_code}\n" http://192.168.49.2:31226/
HTTP:200

💡 返回 HTTP 200,说明 NodePort 服务转发链路正常。若业务镜像从默认 docker.io 拉取缓慢,可参考第十章 FAQ 配置镜像加速。

八、集群日常管理与版本升降级

8.1 停止与再次启动

停止集群(保留数据):

minikube stop

实测回显:

* Stopping node "minikube"  ...
* Powering off "minikube" via SSH ...
* 1 node stopped.
minikube status
minikube
type: Control Plane
host: Stopped
kubelet: Stopped
apiserver: Stopped
kubeconfig: Stopped

再次启动(复用已有 profile 与数据):

minikube start
* minikube v1.39.0 on Ubuntu 22.04 (docker/amd64)
* Using the docker driver based on existing profile
* Starting "minikube" primary control-plane node in "minikube" cluster
* Pulling base image v0.0.51 ...
* Preparing Kubernetes v1.37.0 on containerd 2.3.4 ...
* Verifying Kubernetes components...
  - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

💡 minikube stop 仅关闭节点并保留节点数据(对应「停机」),minikube delete 才彻底删除集群与数据。

8.2 Kubernetes 版本升降级

升级或降级集群的 Kubernetes 版本(会重新引导控制平面,节点数据保留):

minikube start --kubernetes-version=v1.37.0

💡 --kubernetes-version 可填具体版本(如 v1.36.4)或 stable / latest;切换后在节点内重新引导对应版本组件,运行时(containerd/docker/cri-o)不可用该方式切换,如需替换运行时须 minikube delete 后重建。

8.3 minikube 二进制与基础镜像的升级

升级 minikube 二进制(覆盖安装后核对版本):

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.39.0/minikube-linux-amd64
install minikube /usr/local/bin/minikube
minikube version

💡 基础镜像 kicbase 在 minikube start 时按 --base-image 或 minikube 版本自动选择并按需拉取;升级 minikube 后首次 start 会自动使用新版 kicbase。

8.4 常用管理命令

minikube node list
minikube ip
minikube ssh
minikube dashboard

九、常见问题(FAQ)

Q1:minikube start 报 The "docker" driver should not be used with root privileges?

定位:以 root 身份运行 docker 驱动时的安全提示。

解决:改用普通用户(加入 docker 组)执行;确需 root 时按提示追加 --force,或在 root 环境下改用 --driver=none。

Q2:业务镜像从默认 docker.io 拉取失败或超时(Pod 处于 ImagePullBackOff / ErrImagePull)?

定位:docker.io 直连慢或不稳,节点内 containerd 拉取镜像超时。

解决:若本机 Docker 引擎已存在该镜像,可直接导入节点内 containerd,无需经外网拉取:

minikube image load nginx:alpine
minikube image ls | grep nginx

实测回显:

docker.io/library/nginx:alpine

💡 minikube image load 把镜像从本机 Docker 引擎导入节点内 containerd,导入后删除业务 Pod 触发重建即可拉起(本环境实测有效)。若需节点长期从加速源拉取镜像,可在节点内(minikube ssh)为 docker.io 配置加速端点:创建 /etc/containerd/certs.d/docker.io/hosts.toml 写入 server = "https://docker.m.daocloud.io" 与 [host."https://docker.m.daocloud.io"] capabilities = ["pull", "resolve"],再将节点内 containerd 配置的 registry config_path 指向 /etc/containerd/certs.d 后重启 containerd。

Q3:组件镜像(kube-apiserver/etcd/coredns 等)拉取慢导致启动卡住?

定位:默认组件镜像仓库在境外。

解决:启动时加 --image-mirror-country=cn(使用中国大陆镜像仓库),或显式 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers。

Q4:kubectl get nodes 的 OS-IMAGE 显示 Debian GNU/Linux 12,与服务器 Ubuntu 22.04 不一致?

定位:属正常现象。节点由 kicbase 基础镜像承载(基于 Debian 12),OS-IMAGE 展示的是节点基础镜像的系统标识,而非服务器宿主系统。

Q5:首次 minikube start 缓慢或中途失败,如何续跑?

定位:首次需拉取 kicbase 基础镜像与组件镜像,网络慢时会耗时较长。

解决:对同一集群再次执行 minikube start 即可续跑直至完成;建议追加 --wait-timeout=10m 放宽就绪等待(默认 6m)。若受限内核环境(如嵌套虚拟化)出现节点文件系统挂载失败,可参考《Minikube 集群配置文件详解(Ubuntu 22.04)》将节点内快照器调整为 native。

十、卸载方式

删除集群与本地数据:

minikube delete
minikube delete --all --purge

卸载 minikube 与 kubectl 二进制:

rm -f /usr/local/bin/minikube
rm -f /usr/local/bin/kubectl
rm -rf /root/.minikube

💡 minikube delete --all --purge 会删除所有 profile 并清理 ~/.minikube 目录;rm -rf ~/.minikube 清理残留的证书与 profile 数据。

十一、参考链接