环境准备:kubectl / minikube / kind
本教程共 65 篇 · 第 7 篇 · 更新于 2026-08-14 · 约 12 分钟阅读
本节目标:弄清学 k8s 要装哪三个东西,各自干什么,并选一个适合自己的本地方案动手跑起来。
前面六章都在讲概念。这章开始落地:你得有个能敲命令的环境。好消息是,学习阶段完全不用买服务器,笔记本就能跑。
7-1 学 k8s 要装三样东西
对初学者来说,核心就三个:
- kubectl:指挥集群的命令行工具。你所有操作都通过它。相当于对讲机。
- minikube 或 kind:在你电脑上起一个本地集群。相当于一块练习场。
- (可选)容器运行时:minikube/kind 通常会自己带或自动配,多数情况你不用单独装。
Note顺序很重要:先装 kubectl,再装一个本地集群工具。kubectl 是”对讲机”,本地集群是”练习场”,两个配合才能练。
7-2 kubectl:你和集群之间的对讲机
kubectl 是 Kubernetes 官方的命令行客户端。装好之后,敲 kubectl version 能看版本,敲 kubectl get pods 能看 Pod。
它的安装方式因系统而异,核心思路是:去 Kubernetes 官网下载对应你系统的二进制,放到系统 PATH 里。例如在 Linux/macOS 上常见步骤是下载、赋可执行权限、移动到 /usr/local/bin。Windows 上可以用包管理器(如 choco install kubernetes-cli)或手动下载。
Tip验证安装是否成功,敲这条:
kubectl version --client能打出客户端版本号,就说明装好了。注意本文档基准版本是 v1.36.2,kubectl 版本最好和集群版本接近。
7-3 minikube:最简单的单节点练习场
minikube 的作用,是在你本地起一个单节点的 Kubernetes 集群。也就是说,控制平面和工作节点都在同一台机器上,既当大脑又当厂房。
它的最大优点:开箱即用、跨平台(Linux/macOS/Windows 都支持),而且内置了对多种容器运行时的支持。
启动一个集群只需要一条命令:
minikube start
起来之后,minikube 会自动把 kubectl 的上下文指向这个本地集群。你可以立刻敲 kubectl get nodes 看到那唯一的一个节点。
想看集群状态:
minikube status
想进网页 Dashboard(图形界面):
minikube dashboard
Note用
minikube start起的集群,那台节点同时是控制平面和工作节点。这跟生产环境不同——生产里控制平面通常用污点(Taint)和工作节点隔离。学习阶段不用纠结这个差别。
7-4 kind:用容器当节点的另一种练习场
kind 是 “Kubernetes IN Docker” 的缩写。它用 Docker 容器来充当集群的”节点”。换句话说,每个节点其实是一个容器。
它的特点:
- 非常轻量,启动快,适合频繁建了拆、拆了建。
- 它本是为”测试 Kubernetes 本身”设计的,但学习用也很顺手。
- 因为节点是容器,所以你电脑上得先装好 Docker(或其它兼容运行时)。
起一个集群:
kind create cluster
默认会建一个单节点集群,名字叫 kind。删掉它:
kind delete cluster
Tipminikube 和 kind 怎么选?想要图形化、功能全、省心,选 minikube;想轻量、快、喜欢容器思维,选 kind。新手随便挑一个,它们都认你的 kubectl 命令。先跑起来比选工具重要。
7-5 其它本地选项
除了上面两位,官方还提到了一些第三方工具,也能在本地跑 k8s:
- Docker Desktop:开启后内置一个本地 k8s。
- Rancher Desktop:桌面端直接提供 k8s。
- MicroK8s:轻量级集群,Canonical 出品。
- 在线实验环境(如 Killercoda):连装都不用装,浏览器里直接练。
Warning这些第三方工具 k8s 官方不背锅,但它们对学习通常够用。真正想模拟生产,还是得用 kubeadm 在多台机器上搭——那属于进阶内容,本章先不展开。
7-6 一个推荐的起步路线
如果你完全零基础,我建议这样走:
- 装好
kubectl,验证kubectl version --client。 - 装
minikube,跑minikube start。 - 敲
kubectl get nodes看到节点,说明环境通了。 - 下一章,用这个环境部署你的第一个应用。
Note卡在装环境很正常,具体排错清单见本章最后(7-9 装环境卡住了怎么办)。实在装不顺就先跳过,概念学完回头再装。
7-7 理解 kubectl 的”上下文”与版本偏差
kubectl 不一定只连一个集群。你电脑上可能同时有本地 minikube、公司测试集群、生产集群。它靠一个叫 kubeconfig 的文件(通常在 ~/.kube/config)记住这些集群的地址和凭证。
看当前连的是哪个:
kubectl config current-context
切换集群:
kubectl config get-contexts # 列出所有可用上下文
kubectl config use-context <名字> # 切到指定集群
还有一个坑叫”版本偏差”。k8s 的规则是:kubelet 不能比 apiserver 新;controller-manager / scheduler 不能比 apiserver 新超过一个次要版本。落到 kubectl 上,就是客户端的 kubectl 版本最好和集群接近,差太多可能命令行为不一致。
Tip本文档基准集群是 v1.36.2。你本地
kubectl version --client显示的客户端版本,建议也在 1.36.x 附近。差一两个小版本通常没事,但别拿 1.20 的 kubectl 去操作 1.36 的集群。
小结
三件套再确认:kubectl 是对讲机、minikube/kind 是练习场、容器运行时是底层引擎。选 minikube(图形化、省心)或 kind(轻量、快)都行,kubectl 命令通用。注意 kubeconfig 上下文和版本偏差这两个坑。
7-9 装环境卡住了怎么办
装环境是最常见的劝退点,给你几条排错思路:
- minikube 起不来:先看
minikube start最后的报错,多半是虚拟化没开(BIOS 里开 VT-x/AMD-V),或 Docker 没正常运行。 - 镜像拉取慢:国内网络拉
k8s.gcr.io等镜像常超时。很多环境可配置国内镜像加速器,或换用registry.k8s.io镜像仓库。 - kind 报错:确认 Docker 桌面版已启动,且资源(CPU/内存)给够,kind 创建节点会占不少内存。
Tip实在装不顺,也别卡死在这章。你完全可以跳过动手环节,先把概念学完,回头再装。k8s 的命令行和 YAML,理解逻辑比背安装步骤重要。
下一章,我们就用刚搭好的环境,部署你的第一个应用。