# 部署 Minikube

以下是从零开始部署 Minikube的完整步骤，包含常见问题的解决方案：

### 1. 系统准备（以 Rocky Linux 为例）
```bash
# 更新系统并安装依赖
sudo dnf update -y
sudo dnf install -y curl wget conntrack

# 禁用交换分区（Kubernetes 要求）
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
```

### 2. 安装 Docker
```bash
# 添加 Docker 仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker
sudo dnf install -y docker-ce docker-ce-cli containerd.io

# 启动并设置开机自启
sudo systemctl enable --now docker

# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
newgrp docker  # 刷新组权限

# 验证安装
docker run hello-world
```

### 3. 安装 Minikube 和 kubectl
```bash
# 安装 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
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

# 验证版本
minikube version
kubectl version --client
```

### 4. 启动 Minikube 集群
```bash
# 启动集群（国内用户推荐使用镜像加速）
minikube start --driver=docker \
  --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
  --registry-mirror=https://registry.cn-hangzhou.aliyuncs.com

 minikube start \
  --image-repository=quay.mirrors.ustc.edu.cn/google-containers \
  --driver=docker

 minikube start \
  --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
  --driver=docker

# 验证集群状态
minikube status
kubectl get nodes
```



### 7. 部署 Nginx
```bash
# 创建 Deployment
kubectl create deployment nginx --image=nginx:1.25-alpine

# 暴露 Service
kubectl expose deployment nginx --type=NodePort --port=80

# 获取访问 URL
minikube service nginx --url
# 或直接打开浏览器
minikube service nginx
```

### 8. 验证部署
```bash
# 检查所有资源状态
kubectl get all -A

# 测试 Nginx 访问
curl $(minikube service nginx --url)
```

### 9. 常用管理命令
| 功能 | 命令 |
|------|------|
| 暂停集群 | `minikube pause` |
| 恢复集群 | `minikube unpause` |
| 停止集群 | `minikube stop` |
| 删除集群 | `minikube delete` |
| 查看插件 | `minikube addons list` |
| 启用 Ingress | `minikube addons enable ingress` |

### 10. 常见问题解决


#### **Nginx 服务不可用**
```bash
# 检查 Pod 日志
kubectl logs -l app=nginx

# 重新部署
kubectl rollout restart deployment nginx
```

#### **Minikube 启动失败**
```bash
# 查看详细日志
minikube logs

# 重置集群
minikube delete
minikube start --driver=docker
```

### 总结
通过以上步骤，您已经完成了：
1. Minikube 单节点 Kubernetes 集群部署
2. Kubernetes Dashboard 可视化控制台安装
3. Nginx 示例应用部署

整个部署过程约需 5-10 分钟（取决于网络速度）。如需进一步扩展，可以考虑：
- 使用 `minikube addons enable metrics-server` 启用资源监控
- 通过 Helm 部署更复杂的应用
- 配置持久化存储卷（PV/PVC）