HOME

Kubernetes 核心组件的深度解析

这篇文章把 Kubernetes 最核心的几个组件串起来讲清楚。很多人知道 API Server、Scheduler、kubelet 这些名字,但真正排障或理解集群行为时,关键不只是“每个组件做什么”,而是它们之间怎么配合。

先看整体结构

Kubernetes 大体可以分成两部分:

  • Control Plane:负责管理和决策
  • Worker Node:负责真正运行 Pod

从交互关系上看,大致可以理解成下面这张图:

sequenceDiagram
    participant API as API Server
    participant K as kubelet
    participant CRI as 容器运行时
    participant CNI as 网络插件
    participant CSI as 存储插件
    participant Pod as Pod
    Note over K: 启动初始化
    K->>API: 1. 注册节点信息
    K->>API: 2. 启动 List-Watch 监听 Pod
    loop 持续监听
        API-->>K: 3. 推送 Pod 配置变更事件
    end
    alt 创建新 Pod
        K->>CSI: 4. 挂载存储卷
        CSI-->>K: 返回挂载点
        K->>CRI: 5. 拉取镜像
        CRI-->>K: 返回镜像 ID
        K->>CNI: 6. 配置网络命名空间
        CNI-->>K: 分配 IP 地址
        K->>CRI: 7. 创建容器
        CRI-->>K: 返回容器 ID
        K->>Pod: 8. 启动容器进程
        K->>API: 9. 更新 Pod 状态为 Running
    end
Kubernetes 网络 存储