Kubernetes(K8s)是容器编排的事实标准,但对于初学者或需要快速测试的开发者来说,部署一个完整的云环境集群过于复杂。Minikube 应运而生,它允许你在个人电脑上快速启动一个单节点(Single-Node)的 Kubernetes 集群。
本文将手把手指导你在本地搭建 Minikube 环境,并运行一个简单的应用。
1. 环境准备与先决条件
Minikube 需要一个虚拟机驱动(Hypervisor)来运行其单节点K8s。最推荐和最易用的驱动是 Docker 或 VirtualBox。
- 安装 Docker Desktop:如果你使用 Windows 或 macOS,安装 Docker Desktop 是最便捷的选择,它集成了 Docker 引擎和必要的虚拟化功能。
- 安装 Kubectl:kubectl 是 Kubernetes 的命令行工具,用于与集群进行通信和管理资源。它是独立于 Minikube 的。
macOS/Linux 安装 Kubectl (使用 Homebrew):
brew install kubectl
Windows 安装 Kubectl (使用 Chocolatey):
choco install kubernetes-cli
2. 安装 Minikube
Minikube 的安装非常简单,因为它通常是单个二进制文件。
macOS/Linux 安装 Minikube (使用 Homebrew):
brew install minikube
手动下载安装 (适用于大多数系统):
# 下载 Minikube 二进制文件
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 # 替换为你的系统架构,如 linux-amd64
# 授予执行权限
chmod +x minikube
# 移动到 PATH 路径下
sudo mv minikube /usr/local/bin/
3. 启动 Minikube 集群
我们将使用 Docker 作为驱动来启动集群。这通常是最快、集成度最好的方式。
# 使用 Docker 驱动启动 Minikube
minikube start --driver=docker
第一次启动可能需要一些时间来下载 K8s 镜像。启动成功后,你会看到如下信息,并且 kubectl 会自动配置上下文指向这个新的 Minikube 集群。
验证集群状态:
# 检查 Minikube 状态
minikube status
# 检查 Kubernetes Node 状态
kubectl get nodes
# 预期输出: Ready
4. 部署第一个测试应用
现在集群已运行,我们来部署一个简单的 Nginx 应用并将其暴露给外部访问。
- 创建 Deployment: 部署一个名为 hello-minikube 的应用,使用 Google 提供的简单 hello-app 镜像。
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4 # 或者使用 gcr.io/google-samples/hello-app:1.0 - 暴露 Service (NodePort 类型): 将 Deployment 暴露为一个 Service,类型使用 NodePort,这样 Minikube 就能通过宿主机端口访问。
kubectl expose deployment hello-minikube --type=NodePort --port=8080 - 获取访问 URL: 使用 minikube service 命令获取应用在本地暴露的 URL。
minikube service hello-minikube该命令会自动在你的浏览器中打开应用的 URL(例如:http://127.0.0.1:32000)。如果看到应用程序返回的 Hello 消息,则说明部署成功!
5. 清理与停止
当你完成实验后,可以通过以下命令停止或删除集群,以释放本地资源。
停止集群 (保留配置和数据):
minikube stop
删除集群 (彻底清理,下次启动需重新下载镜像):
minikube delete
汤不热吧