Skip to content

Commit 0f60642

Browse files
committed
2025-5-6:"修改图片"
1 parent 0a07e20 commit 0f60642

File tree

4 files changed

+3
-3
lines changed

4 files changed

+3
-3
lines changed

content/posts/K8s源代码分析——Kubelet(1):主循环.md renamed to content/posts/20250506/K8s源代码分析——Kubelet(1):主循环.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Kubelet 是 Kubernetes 集群中每个节点上运行的核心组件,它负责
1212

1313
### 一、Kubelet 的启动入口:`Kubelet.Run()` 函数
1414

15-
![20250506-1](../../static/20250506-1.jpeg)
15+
![20250506-1](20250506-1.jpeg)
1616

1717
`Kubelet.Run()` 函数是整个 Kubelet 服务的起点,负责完成一系列初始化工作并启动各个后台服务和主工作循环。
1818

@@ -144,7 +144,7 @@ func (kl *Kubelet) Run(updates <-chan kubetypes.PodUpdate)
144144

145145
11. **Pod 生命周期事件生成器 (PLEG -** **`PodLifecycleEventGenerator`**):
146146

147-
<img src="../../static/20250506-2.jpeg" alt="20250506-1" style="zoom: 25%;" />
147+
<img src="20250506-2.jpeg" alt="20250506-1" style="zoom: 25%;" />
148148

149149
1. PLEG 的核心职责是监控节点上容器运行时的状态变化(如容器的启动、停止、崩溃、删除等),并将这些变化转换为抽象的 Pod 生命周期事件。这些事件随后会驱动 Kubelet 的主同步循环 (`syncLoop`) 去更新 Pod 的内部状态并执行相应的操作。
150150

@@ -233,7 +233,7 @@ func (kl *Kubelet) Run(updates <-chan kubetypes.PodUpdate)
233233

234234
- **核心迭代逻辑 **(`kl.syncLoopIteration`): `syncLoop` 将实际的事件处理和同步分派逻辑委托给 `kl.syncLoopIteration` 函数。
235235

236-
<img src="../../static/20250506-3.jpeg" alt="20250506-1" />
236+
<img src="20250506-3.jpeg" alt="20250506-1" />
237237

238238
- `syncLoopIteration` 是真正执行每一次循环迭代工作的地方。它通过一个 `select` 语句并发地监听多个事件通道:
239239
- **`configCh`** **(Pod 配置更新)**: 处理来自 API Server、静态文件等的 Pod 期望状态的变更(增、删、改、协调)。根据 `PodUpdate` 中的操作类型 (`u.Op`),调用 `handler` (即 Kubelet 自身) 的不同方法 (如 `HandlePodAdditions`, `HandlePodUpdates` 等)。

0 commit comments

Comments
 (0)