本地起一个可练手的 Kubernetes:Kind 三节点集群与 Pod 操作实录
Chapter 1:OK so,先把三节点集群拉起来
兄弟们开机!今天 eccfy 直接录屏式带你做一个本地 Kubernetes 集群搭建教程,不用云服务器,Kind + Docker 就够。我的测试环境是 macOS M2、Docker Desktop 4.x,冷启动到集群 Ready 用时约 78 秒;Windows/Linux 步骤基本一致。
接下来屏幕看这里,先确认工具:
docker versionkubectl version --clientkind version
如果缺工具,关键词可以搜:Kind 安装教程、kubectl 下载配置。不要一上来就折腾复杂云平台,入门阶段先把控制平面、Node、Pod 的关系跑通。
创建配置文件 kind-3nodes.yaml,注意我这里是一主两工人节点:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
Now watch this,执行:
kind create cluster --name eccfy-lab --config kind-3nodes.yaml
完成后立刻看节点:
kubectl get nodes -o wide
你应该看到 3 个节点都是 Ready。如果卡在拉镜像,常见原因是网络到镜像仓库慢;免费方案优先试 Docker 镜像源、公司代理、离线导入镜像。别盲目搜“免费VPN怎么用”就乱装,开发环境最怕污染代理和 DNS。
Chapter 2:接下来,Pod 管理入门直接上手
我们先跑一个 nginx Pod,别讲概念,先看效果:
kubectl run web-demo --image=nginx:1.25 --port=80
查看状态:
kubectl get pod -o widekubectl describe pod web-demo
如果状态是 ContainerCreating 超过 2 分钟,重点看 Events:镜像拉不下来是 ImagePullBackOff,调度失败是 0/3 nodes available,容器启动崩了是 CrashLoopBackOff。这就是 kubectl 怎么用 的核心:先 get,再 describe,最后 logs。
我们故意做一个前台访问演示:
kubectl port-forward pod/web-demo 8080:80
浏览器打开本机 127.0.0.1:8080,看到 nginx 欢迎页,OK,这一刻 Pod 内服务已经被转发出来了。我本地用 curl -w "%{time_total}\n" 测了 5 次,平均 0.006 秒,Kind 内部转发非常适合练命令。
再来一组日常排障命令,建议你收藏:
kubectl logs web-demo:看容器日志。kubectl exec -it web-demo -- /bin/sh:进容器现场检查。kubectl delete pod web-demo:删除 Pod。kubectl get events --sort-by=.metadata.creationTimestamp:按时间看事件。
Chapter 3:Before/After 验证:怎么确认真的跑通了
最后给你一个标准验收清单,别凭感觉说“好了”。第一,节点正常:
kubectl get nodes
结果必须全部 Ready。第二,Pod 正常:
kubectl get pod web-demo
必须是 Running,并且 READY 显示 1/1。第三,服务可访问:
curl -I http://127.0.0.1:8080
返回 HTTP/1.1 200 OK 就过关。第四,清理现场:
kind delete cluster --name eccfy-lab
如果你在拉取海外镜像、查 Kubernetes 文档或看油管怎么看云原生课程时遇到网络不稳定,优先用官方镜像、缓存和公司代理;也可以把 Roxi 作为其中一种网络辅助选项参考:wizzegroup.com。OK,本期 Pod 管理入门教程 到这,照着敲一遍,评论区贴你的报错,我继续现场拆!