全部场景Scene 01

最小闭环Deployment 与 Service

目标从一份 YAML 开始:Deployment READY 2/2、Service 获得 ClusterIP、本机 curl 通过。你会走完 apply → get → port-forward → logs,并留下可复用的最小部署检查顺序。

简单阶段 · 5 min · 4 步 · apply · get · port-forward · logs

演练前检查

环境
本地 kind 或 minikube;当前 context 指向实验集群;仓库根目录可访问 examples/minimal-loop/。
初始故障
集群中尚无 Deployment/web 与 Service/web,本机 localhost:8080 也没有该服务响应。
成功标准
curl localhost:8080 返回 nginx 默认页
清理
kubectl delete -f examples/minimal-loop/

场景判断

很多人第一次面对 Kubernetes 时,会被密密麻麻的概念绊住:Pod、Node、Deployment、Service、ReplicaSet、Endpoint……但真正决定你能不能跨过门槛的,其实只有一件事:能不能让集群按你的意图跑起一个应用,并且从自己的笔记本上访问到它。我们把这件事称为「最小闭环」。它不需要云厂商、不需要 Ingress、不需要 Helm,只需要一个本地 kind 或 minikube,以及两份不超过二十行的 YAML。

最小闭环之所以重要,是因为它把「声明式」这个 Kubernetes 的灵魂压缩成了一个可触摸的动作。你不再 SSH 上机器执行 docker run,也不再手动配负载均衡;你把期望状态写进清单,kubectl apply 之后,控制器会替你对齐现实。你要做的只是观察、验证、再清理现场。

复现步骤

本机勾选备忘(localStorage),不代表你已在集群里跑过,也不连接任何 API。只是帮你对照步骤,别当成「学会了」的勋章。

— / 4本机勾选

  1. 01
  2. 02
  3. 03
  4. 04

Deployment 的核心是一份 Pod 模板。它不关心集群里现在有多少台 Node,也不关心某个副本是否挂掉;它只保证「带有 app=web 标签的 Pod 始终有 2 个在运行」。当某个 Pod 被删除或失败时,ReplicaSet 控制器会创建新的来补足。这种「面向终态」的设计,让发布、扩缩容、故障恢复都变成了同一个模式:改期望,然后观察现实追上来。

关键配置

YAMLdeployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
  labels:
    app: web
spec:
  replicas: 2
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: nginx
          image: nginx:1.27-alpine
          ports:
            - containerPort: 80

Service 则负责解决「访问」问题。Pod 的 IP 会随生命周期变化,直接访问 Pod IP 就像追着蝴蝶跑。Service 通过 selector 把流量稳定地代理到所有带 app=web 标签的 Pod 上,无论这些 Pod 被调度到哪个 Node、被重建了多少次。默认类型 ClusterIP 只在集群内部暴露,配合 port-forward 就能在本地完成验证,不需要任何外部负载均衡。

YAMLservice.yaml
apiVersion: v1
kind: Service
metadata:
  name: web
  labels:
    app: web
spec:
  selector:
    app: web
  ports:
    - name: http
      port: 80
      targetPort: 80
  type: ClusterIP

Kubernetes 不是帮你运行容器,而是帮你维持一份声明:你想要的 N 个副本、某种访问方式、以及它们持续存在的承诺。

完成验证后,用 kubectl delete -f examples/minimal-loop/ 清理现场。这个习惯在本地实验阶段尤其重要:它让你把「apply → 验证 → delete」当成一个完整的回合来练习,而不是在集群里留下一堆连自己都不记得含义的资源。当你能在五分钟内独立完成这个闭环,中阶阶段的探针、配置、发布回滚,都会自然地从这条主干上生长出来。

现场记录

先写自己的证据,再看参考答案。输入只留在当前页面,本站不会读取或验证你的集群。

最小闭环:Deployment 与 Service

Evidence Receipt · 执行凭证

只填写你实际运行过的环境;stdout / Events 请脱敏后写入下方证据句。

这是你的手动确认,不代表本站已检测命令执行结果。

关联命令

跳转图鉴并展开对应条目(可复制示例)。

对应路径课节

Kubernetes 图鉴 · 场景剧本 · minimal-loop