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 Server
↓
Scheduler(选 Node)
↓
kubelet(Node 上执行)
↓
Container Runtime
↓
Pod Running
如果这个画面能自动播放,你已经超过 70% 的人了。
八、本阶段自检清单(非常重要)
如果你能回答下面问题,说明你真的“成型”了:
- 为什么不能直接用 Pod 上线?
- Deployment 挂了一个 Pod,谁来补?
- Pod 和容器的关系是什么?
- K8s 为什么说是“声明式系统”?
- Node 掉了会发生什么?
答不全,千万别急着实操。
九、下一阶段预告
👉 第三阶段:Windows 本地 K8s 环境搭建(实操开始)
你将真正看到:
- Docker Desktop + WSL2 在干什么
- 本地 K8s 的 Node / Pod 在哪
- kubectl 不再是“黑盒命令”