Minikube极速搭建单机k8s集群全过程

 更新时间:2025年12月24日 09:32:33   作者:寂寞旅行  
本篇教程分享了如何在Ubuntu上安装和配置Minikube,一个用于运行单机Kubernetes集群的工具,文章详细介绍了安装Docker、Kubectl和Minikube的步骤,并指导如何启动集群、验证安装以及部署一个简单的Nginx服务

第一步:安装前置依赖

Minikube 需要一个容器或虚拟机管理器来运行集群。最推荐的是 Docker,因为它最简单高效。

  1. 更新软件包列表
sudo apt-get update
  1. 安装必要的包
sudo apt-get install -y ca-certificates curl gnupg lsb-release
  1. 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. 设置 Docker 仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装 Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 将当前用户添加到 docker (这样不用每次都 sudo 运行 docker)
sudo usermod -aG docker $USER

重要:执行完这一步后,一定要重新登录或者重启终端,用户组权限才会生效。

第二步:安装 kubectl

kubectl 是用来和 Kubernetes 集群交互的命令行工具。

  1. 下载最新稳定版的 kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
  1. 安装 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
  1. 验证安装
kubectl version --client

看到版本信息就说明装好了。

第三步:安装 Minikube

  1. 下载 Minikube 二进制文件
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64

# 或者
wget https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
    
  1. 安装并使其可执行
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

第四步:启动 Minikube 集群d

万事俱备,现在可以启动你的单机 K8s 集群了!

  1. 启动命令
sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.48
sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.48 gcr.io/k8s-minikube/kicbase:v0.0.48
sudo minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --force
- `--driver=docker` 是告诉 Minikube 使用我们之前安装的 Docker 作为环境。这是在 Ubuntu 上的推荐方式。
- 首次启动会下载一些镜像,可能需要几分钟,耐心等待一下。
  1. 检查集群状态
minikube status

如果看到 minikube, node, kubelet 都是 Running 状态,就说明集群启动成功了!

  1. 验证 kubectl 连接
kubectl get nodes

你应该能看到一个名为 minikube 的节点处于 Ready 状态。

第五步:体验一下 (可选)

部署一个简单的 Nginx 服务来感受一下 K8s。

  1. 创建一个 Deployment
kubectl create deployment hello-minikube --image=nginx:latest
  1. 暴露服务,让外部可以访问
kubectl expose deployment hello-minikube --type=NodePort --port=80
  1. 获取访问 URL

Minikube 提供了一个很方便的命令来直接打开服务:

minikube service hello-minikube

执行后,它会自动在浏览器中打开 Nginx 的欢迎页面,或者给你一个 URL。

常用管理命令

  • 停止集群(不删除数据,下次可以快速启动)
minikube stop
  • 删除集群(会删除所有数据,从头再来)
minikube delete
  • 打开 K8s Dashboard(一个可视化的 Web 界面)
minikube addons enable dashboard
minikube dashboard

# 镜像无法拉取
# 在你的主机上执行
docker pull kubernetesui/dashboard:v2.7.0
docker pull kubernetesui/metrics-scraper:v1.0.8

# 在你的主机上执行
minikube image load kubernetesui/dashboard:v2.7.0
minikube image load kubernetesui/metrics-scraper:v1.0.8

# 查看 kubernetes-dashboard 状态

kubectl get pods -n kubernetes-dashboard
# 启动代理
kubectl proxy --address='0.0.0.0' --port=8001 --accept-hosts='^.*$'

# token
eyJhbGciOiJSUzI1NiIsImtpZCI6ImthM1diQVBUd0x4NXJuRDhPOXJ3a3A5S2xqQ2dyMmtUcHlYLUh4S3ZIVUEifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzY0OTQ5OTY4LCJpYXQiOjE3NjQ5NDYzNjgsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiYzliYTYwMWQtMjU1MS00ZjhiLWE1ODctMzI5ZGY4MGYxMzUwIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJkYXNoYm9hcmQtYWRtaW4iLCJ1aWQiOiJiYWQ0NjA5Yi1jNDNhLTQ2ZDEtYTU0OS02YjhmMjZmZWQ1ODgifX0sIm5iZiI6MTc2NDk0NjM2OCwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.YXzBNh_VTjXNQUxAutYc16XwwxznnVp1VMG8SNy6edD3uP24M9s4bddtiQRzXqfeilUKHKdiYPGIwV-FFnKm6fnfDL4uPblVq6EUcBCbX2_FFbPcnm-FMKYfPx6G9k994IpkY8O0d1nhKqkY5eQLbqOJ9pSxQA3vUFqzPTEV3uaMLQvtsLCCTy_AmerFzxzE96v7XnlyS8e-zm3qWCMNWFl0iZCR5y1Ec87q-WNOctCxBCyrI3VLSmJe7AIA_bZQjHf_lvycNJ3LK2sL7nec-UXCLVULZKW6Syv499GkOzrEBqnldzSAZBen9qKdCmd6g92o_9A1n2K92CDiFsjv2Q

# 地址
http://192.168.11.217:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login


# 跳过登陆
kubectl edit deployment kubernetes-dashboard -n kubernetes-dashboard
- --enable-skip-login=true

# 保存重启
kubectl get pods -n kubernetes-dashboard -w

...
spec:
  containers:
  - args:
    - --auto-generate-certificates
    - --namespace=kubernetes-dashboard
    - --enable-skip-login=true  # <-- 使用这个参数
    image: ...
    name: kubernetes-dashboard
...

这样,一个功能完整的单机 Kubernetes 环境就在你的 Ubuntu 上跑起来了!接下来你就可以在上面尽情测试和部署你的应用了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论