K8s L3 第二阶段:核心概念成型

20 阅读2分钟

K8s L3 第二阶段:核心概念成型(从“看得懂”到“有画面”)


一、为什么这一阶段极其关键

很多开发者卡在 K8s 的原因不是命令不会敲,而是:

不知道现在“系统正在发生什么”

K8s 的一切操作,本质都是:

你描述“期望状态” → K8s 不断把现实拉回这个状态

这一阶段,就是把这个「自动纠偏系统」在你脑子里跑一遍。


二、K8s 的本质模型(一句话版)

Kubernetes = 一个持续对比「期望状态」与「实际状态」的控制系统

  • 你:写 YAML(期望)
  • K8s:创建 / 删除 / 重启 / 调度(纠偏)

你不是在“启动应用”,而是在声明规则


三、Node:真正干活的机器

1. Node 是什么

  • Node 是实际运行容器的机器

  • 可以是:

    • 物理机
    • 云服务器
    • 虚拟机

2. Node 上有什么

每个 Node 上至少有:

  • container runtime(Docker / containerd)
  • kubelet(执行命令的代理)

重要直觉

K8s 自己不跑容器,它只是“指挥” Node 去跑


四、Pod:K8s 世界里的“进程”

1. Pod 的真实地位

  • Pod 是 K8s 的最小调度单位
  • Pod ≈ 一组强绑定的容器

在 90% 的业务中:

1 Pod = 1 容器 = 1 应用实例

2. Pod 的关键特性

  • 一个 Pod 一个 IP

  • Pod 内容器共享:

    • 网络
    • Volume

3. 常见误区

❌ 容器是最小单位

Pod 才是最小单位


五、Deployment:你真正“操作”的对象

1. 为什么不用 Pod 直接上线

Pod 有致命问题:

  • 挂了不会自动补
  • 更新需要手工删

2. Deployment 的职责

Deployment 负责:

  • 副本数(replicas)
  • 滚动更新
  • 回滚

你写的 YAML,90% 都是 Deployment

3. 控制链路(必须记住)

Deployment → ReplicaSet → Pod

你只和 Deployment 对话,下面的事它帮你搞定。


六、Namespace:逻辑隔离,而不是安全隔离

1. Namespace 是什么

  • K8s 的“逻辑分组”

  • 用来区分:

    • 环境(dev / test / prod)
    • 团队

2. 关键直觉

  • Namespace ≠ 虚拟集群
  • 资源默认不跨 Namespace

七、一次完整的“运行画面”(脑补)

当你执行:

kubectl apply -f deployment.yaml

脑子里要出现下面这条链:

YAML(期望)
   ↓
API ServerScheduler(选 Node)
   ↓
kubelet(Node 上执行)
   ↓
Container Runtime
   ↓
Pod Running

如果这个画面能自动播放,你已经超过 70% 的人了。


八、本阶段自检清单(非常重要)

如果你能回答下面问题,说明你真的“成型”了:

  1. 为什么不能直接用 Pod 上线?
  2. Deployment 挂了一个 Pod,谁来补?
  3. Pod 和容器的关系是什么?
  4. K8s 为什么说是“声明式系统”?
  5. Node 掉了会发生什么?

答不全,千万别急着实操


九、下一阶段预告

👉 第三阶段:Windows 本地 K8s 环境搭建(实操开始)

你将真正看到:

  • Docker Desktop + WSL2 在干什么
  • 本地 K8s 的 Node / Pod 在哪
  • kubectl 不再是“黑盒命令”