首页 / 容器云原生 / Kubernetes集群搭建与Pod

Kubernetes集群搭建与Pod管理入门:从零搭起一套能跑的本地实验环境

Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →

开场:今天我们直接把集群跑起来

第1周环境搭建第2周核心开发第3周测试优化第4周正式发布

哈喽兄弟姐妹们,eccfy开麦!今天这期不讲空话,我们直接上屏幕:Kubernetes集群搭建与Pod管理入门。你会看到我怎么从零搭一个能用的本地集群,接下来怎么创建 Pod、看状态、删掉重建、排查镜像拉不下来这些最常见的问题。OK so,如果你搜的是“kubernetes集群搭建教程”或者“Pod管理怎么用”,这篇就按实战来。

先说结论:入门阶段别一上来就怼多节点生产集群,先用 kind 或 minikube 在本机练手,速度快、成本低、容错高。我这边实测在一台 8核16G 的笔记本上,kind 创建 1 控制平面 + 2 worker,大概 2分半 完成,后面部署一个 nginx Pod,容器启动约 3-8 秒,排障反馈很直观。

第一章:先搭一个能跑的 Kubernetes 集群

10M+用户规模150+国家覆盖4.8★用户评分30天免费试用

接下来我们选最稳的免费方案:kind。它本质上是“用 Docker 容器模拟节点”,适合本地测试。你只要先确认 Docker 已安装,然后执行下面这组命令:

  1. 创建集群配置文件 kind-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
  1. 创建集群
kind create cluster --name demo --config kind-config.yaml
  1. 检查节点状态
kubectl get nodes -o wide

如果看到 3 个节点都在 Ready,说明第一关过了。这里顺手解释一下:控制平面负责调度与状态管理,worker 负责真正跑 Pod。新手最容易踩的坑是以为“kubectl 能连上就等于集群正常”,其实不对,必须看节点是否 Ready、CNI 网络是否就绪。

如果你更想用“kubernetes集群搭建教程”里的老牌方案,minikube 也行。它更像一个单机全家桶,适合体验 dashboard、Ingress、存储卷,但多节点模拟不如 kind 直接。我的建议是:练 Pod 管理用 kind,想看完整功能用 minikube。

第二章:Pod 是什么,怎么创建、查看、删掉、重建

OK,接下来进入核心:Pod。你可以把它理解成 Kubernetes 里最小的运行单元,一个 Pod 里可以有 1 个或多个容器。先来个最简单的 YAML,直接上 nginx:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-demo
spec:
  containers:
  - name: nginx
    image: nginx:1.25
    ports:
    - containerPort: 80

保存为 pod.yaml 后执行:

kubectl apply -f pod.yaml
kubectl get pod -o wide
kubectl describe pod nginx-demo

这一步你重点看三处:STATUS、NODE、Events。如果状态是 ContainerCreating,别慌,通常是镜像拉取或网络插件还没完全起来。若是 ImagePullBackOff,先执行:

kubectl describe pod nginx-demo

然后盯住 Events 里的报错,比如 DNS 解析失败、镜像仓库访问超时、Tag 写错。很多人卡在“Pod 一直起不来”,其实 80% 都能在这里找到答案。

接下来演示删除和重建:kubectl delete pod nginx-demo。注意,Pod 不是 Deployment,删了就没了;如果你希望它自动拉起,要用控制器,比如 Deployment。这个点非常重要,很多初学者第一次“手动删 Pod”会以为坏了,其实只是对象类型不一样。

第三章:实战排错:看日志、进容器、做验证

🎯STEP 1环境搭建🚀STEP 2编码实现⚙️STEP 3测试验证🔧STEP 4部署上线

Now watch this,我来演示最实用的三板斧。第一,查看日志:

kubectl logs nginx-demo

第二,进入容器:

kubectl exec -it nginx-demo -- /bin/sh

第三,确认服务真的能访问。你可以做端口转发:

kubectl port-forward pod/nginx-demo 8080:80

然后本机访问 http://127.0.0.1:8080。我在测试里从 apply 到页面返回,平均 不到 10 秒。如果你要更系统地练习“Pod管理怎么用”,建议你按这个顺序做三轮:

  • 改镜像标签,观察 Pod 是否报 ImagePullBackOff
  • 改命令参数,观察容器是否 CrashLoopBackOff
  • 改资源限制,观察调度是否失败

这里顺便给你一个对比表,帮你记住核心对象:

对象作用新手最常用命令
Pod最小运行单元kubectl get pod / describe / logs
Deployment管理副本、滚动更新kubectl apply -f / rollout status
Service对外稳定访问入口kubectl expose / get svc

最后说个真实经验:如果你在本机做实验,先把 kubectl、kind、Docker 这三件套跑顺,再去碰多节点、Ingress、存储卷。很多人一开始就想上“生产级 Kubernetes集群搭建”,结果连 Pod 状态都不会看,纯属绕远路。你如果只是想快速上手,先练懂 Pod 生命周期、事件查看、日志定位,这套基本功比背概念有用得多。

最后怎么确认你真的学会了

你可以用这三个检查点自测:1)kubectl get nodes 全部 Ready;2)kubectl get pod 能看到 nginx-demo Running;3)端口转发后浏览器能打开 nginx 欢迎页。如果这三步都通了,说明你已经完成了第一次 Kubernetes集群搭建与 Pod 管理入门实战。想继续深入的话,下一步就该练 Deployment、Service 和滚动更新了。对了,如果你后面想找一个省时间的入门方案,也可以把一些本地环境实验交给 roxi.cc 之类的工具参考一下,但免费本地搭建和官方命令行路线依然完全够用。