@Minikube安装、配置与应用部署
文章目录
- Minikube安装、配置与应用部署
- 一、环境准备
- 1.1 系统要求
- 1.2 安装依赖
- 二、Minikube安装与启动
- 2.1 安装Minikube
- 2.2 启动Minikube集群
- 2.3 问题排查
- 三、集群操作基础
- 3.1 管理Minikube生命周期
- 3.2 启用插件(可选)
- 四、部署应用
- 4.1 部署示例Nginx应用
- 4.2 通过Ingress访问(需启用addon)
- 五、Kubernetes仪表盘
- 六、日常维护命令
- 七、故障处理指南
- 附录
Minikube安装、配置与应用部署
适用系统: Linux/macOS/Windows(本指南以Ubuntu 22.04为例)
一、环境准备
1.1 系统要求
- 硬件: 2核CPU / 2GB内存 / 20GB磁盘空间(推荐4核/8GB)
- 软件依赖:
- 虚拟化支持(启用BIOS虚拟化)
- Docker(或替代驱动:Hyper-V、KVM、VirtualBox)
kubectl
(Kubernetes命令行工具)
1.2 安装依赖
# 安装Docker(Linux示例)
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER # 当前用户加入docker组
newgrp docker # 刷新用户组# 安装kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
二、Minikube安装与启动
2.1 安装Minikube
# Linux安装
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube# 验证安装
minikube version
2.2 启动Minikube集群
# 使用Docker驱动(默认)
minikube start --driver=docker# 自定义配置(可选)
minikube config set memory 4096 # 分配4GB内存
minikube config set cpus 2 # 分配2核CPU
minikube config set disk-size 20g # 磁盘20GB# 启动集群(应用配置)
minikube start# 验证集群状态
minikube status
kubectl cluster-info
2.3 问题排查
- 虚拟化未启用:
minikube start --driver=docker --force
(强制覆盖) - 代理问题:
设置环境变量:export HTTP_PROXY=http://your-proxy:port export HTTPS_PROXY=http://your-proxy:port
三、集群操作基础
3.1 管理Minikube生命周期
minikube stop # 停止集群
minikube delete # 删除集群
minikube start # 重启集群
3.2 启用插件(可选)
minikube addons enable ingress # 启用Ingress控制器
minikube addons enable dashboard # 启用K8s仪表盘
四、部署应用
4.1 部署示例Nginx应用
# 创建Deployment
kubectl create deployment nginx-demo --image=nginx:latest# 暴露为Service(NodePort类型)
kubectl expose deployment nginx-demo --port=80 --type=NodePort# 获取访问地址
minikube service nginx-demo --url
输出示例:
http://192.168.49.2:32418
→ 浏览器访问该URL
4.2 通过Ingress访问(需启用addon)
# ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: nginx-ingress
spec:rules:- host: nginx.testhttp:paths:- path: /pathType: Prefixbackend:service:name: nginx-demoport:number: 80
kubectl apply -f ingress.yaml
echo "$(minikube ip) nginx.test" | sudo tee -a /etc/hosts # 本地DNS解析
访问:http://nginx.test
五、Kubernetes仪表盘
minikube dashboard # 自动打开浏览器访问仪表盘
六、日常维护命令
功能 | 命令 |
---|---|
查看Pods | kubectl get pods -A |
查看日志 | kubectl logs <pod-name> |
进入容器终端 | kubectl exec -it <pod-name> -- bash |
查看Service | kubectl get svc |
端口转发 | kubectl port-forward svc/nginx-demo 8080:80 |
更新镜像 | kubectl set image deployment/nginx-demo nginx=nginx:alpine |
七、故障处理指南
-
Minikube无法启动:
- 检查虚拟化:
egrep -c '(vmx|svm)' /proc/cpuinfo
(返回>0) - 重置配置:
minikube delete && minikube start --force
- 检查虚拟化:
-
Pod状态异常:
- 诊断:
kubectl describe pod <pod-name>
- 常见原因:镜像拉取失败/资源不足
- 诊断:
-
网络访问问题:
- 验证网络策略:
kubectl get networkpolicy
- 临时禁用防火墙:
sudo ufw disable
- 验证网络策略:
附录
- Minikube官方文档: https://minikube.sigs.k8s.io/docs/
- Kubernetes学习: https://kubernetes.io/zh-cn/docs/home/
- 驱动配置:
minikube start --driver=kvm2
(Linux KVM)
ikube官方文档:** https://minikube.sigs.k8s.io/docs/ - Kubernetes学习: https://kubernetes.io/zh-cn/docs/home/
- 驱动配置:
minikube start --driver=kvm2
(Linux KVM)
minikube start --driver=hyperv
(Windows Hyper-V)