2、环境准备:安装kubectl、安装minikube、启动本地K8s集群、验证集群状态

好,咱们正式开始动手了。这一章的目标很明确——在你的本地机器上搭出一个能跑vLLM的Kubernetes环境。说白了,就是先把“舞台”搭好。

我个人习惯把环境准备分成四步走:装kubectl、装minikube、启动集群、验证集群。每一步都不难,但细节挺多。我刚开始接触K8s时,光装个集群就折腾了一下午,后来发现全是小坑。今天咱们把这些坑提前填上。

2.1 安装kubectl——你的K8s遥控器

kubectl是Kubernetes的命令行工具。你可以把它理解成“遥控器”,所有对集群的操作都靠它发号施令。

安装方式(Linux/Mac/WSL)

# 下载最新稳定版
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# 赋予执行权限
chmod +x kubectl

# 移动到PATH目录
sudo mv kubectl /usr/local/bin/

# 验证安装
kubectl version --client
小提示:如果你用的是Mac,直接用Homebrew更省事——brew install kubectl。Windows用户可以用choco或直接下载exe。我个人偏爱Linux,毕竟生产环境也大多是Linux。

安装完后,记得验证一下版本。输出里能看到client版本信息,说明装好了。

Client Version: v1.28.3
Kustomize Version: v5.0.4

2.2 安装minikube——本地集群的“迷你版”

minikube是什么?它能在你本地跑一个单节点的K8s集群。说白了,就是把生产环境“压缩”到你的笔记本里。对于学习和测试vLLM部署,它完全够用。

安装步骤

# Linux
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

# Mac
brew install minikube

# Windows(用管理员PowerShell)
choco install minikube
注意:minikube依赖虚拟化技术。Linux下默认用Docker驱动,Mac和Windows可能需要安装HyperKit或VirtualBox。我曾经在Windows上踩过这个坑——没开Hyper-V,minikube死活起不来。检查一下BIOS里虚拟化是否开启。

安装完成后,跑一下minikube version确认。

minikube version: v1.32.0

2.3 启动本地K8s集群

这一步最激动人心——见证奇迹的时刻。

# 启动集群(默认使用Docker驱动)
minikube start

# 如果你有足够资源,可以指定更多CPU和内存
minikube start --cpus=4 --memory=8192

为什么会推荐分配更多资源?因为vLLM跑大模型时,显存和内存消耗都不小。我建议至少给minikube分配4核CPU和8GB内存,否则后面跑模型时可能会卡死。

启动过程大概1-3分钟。你会看到类似这样的输出:

😄  minikube v1.32.0 on Ubuntu 22.04
✨  Using the docker driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
🔥  Creating docker container (CPUs=4, Memory=8192MB) ...
🐳  Preparing Kubernetes v1.28.3 on Docker 24.0.7 ...
🔗  Configuring bridge CNI (Container Networking Interface) ...
🌟  Enabled addons: storage-provisioner, default-storageclass
💡  kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
🏄  Done! kubectl is now configured to use "minikube" cluster

看到那个“Done!”了吗?集群已经跑起来了。minikube会自动配置kubectl的上下文,所以接下来你直接敲kubectl命令就能操作这个集群。

2.4 验证集群状态

集群启动后,别急着部署vLLM。先做几个基本检查,确保一切正常。

检查节点状态

kubectl get nodes

输出应该类似:

NAME       STATUS   ROLES           AGE   VERSION
minikube   Ready    control-plane   2m    v1.28.3

STATUS是Ready,说明节点正常。如果显示NotReady,多半是网络插件没装好,可以试试minikube delete再重新minikube start

检查系统Pod

kubectl get pods -n kube-system

你会看到coredns、etcd、kube-apiserver等核心组件。它们都应该处于Running状态。

NAME                               READY   STATUS    RESTARTS   AGE
coredns-5dd5756b68-7g8q9           1/1     Running   0          3m
etcd-minikube                      1/1     Running   0          3m
kube-apiserver-minikube            1/1     Running   0          3m
kube-controller-manager-minikube   1/1     Running   0          3m
kube-proxy-xxxxx                   1/1     Running   0          3m
kube-scheduler-minikube            1/1     Running   0          3m
storage-provisioner                1/1     Running   0          3m

检查集群信息

kubectl cluster-info

输出会显示控制面地址和CoreDNS地址。只要没有报错,就说明集群通信正常。

核心检查清单:
  • ✅ kubectl version --client 正常
  • ✅ minikube version 正常
  • ✅ kubectl get nodes 显示Ready
  • ✅ kubectl get pods -n kube-system 全部Running
  • ✅ kubectl cluster-info 无报错

本章知识体系

下面这张图帮你理清环境准备的整体逻辑:

环境准备核心流程 安装kubectl K8s命令行工具 安装minikube 本地集群引擎 启动集群 minikube start 验证状态 5项检查 各步骤关键点: 🔹 安装kubectl:curl下载或包管理器,验证版本 🔹 安装minikube:注意虚拟化驱动(Docker/HyperKit) 🔹 启动集群:建议分配4核CPU + 8GB内存 🔹 验证状态:节点Ready + 系统Pod Running + 集群信息正常 ⚠️ 常见问题:虚拟化未开启、内存不足、Docker未运行
我的经验:如果你在公司内网或代理环境下操作,记得配置好HTTP_PROXY。minikube需要拉取镜像,网络不通会卡在“Pulling base image”这一步。我曾经在客户现场折腾了半小时,最后发现是代理没配。

好了,到这里你的本地K8s集群已经准备就绪。下一章咱们就可以开始往集群里部署vLLM了。记住,环境准备是基础中的基础,别嫌麻烦。把这一步走稳了,后面会顺畅很多。


公众号:蓝海资料掘金营,微信deep3321