Coursera 笔记

Module 02 · Kubernetes Basics

Kubernetes ArchitectureKubernetes 架构详解

Coursera ↗

学习目标

观看完本视频后,你将能够:

  • ✅ 识别 Kubernetes 架构的主要组成部分
  • ✅ 识别 控制平面(Control Plane) 的组成部分
  • ✅ 识别 工作平面(Worker Plane) 的组成部分

一、Kubernetes 集群概述

Kubernetes 部署 = 一个 Kubernetes 集群(Cluster)

  • Kubernetes 集群:是一组运行容器化应用的节点(Nodes)组成的集群。
  • 每个集群包含:
    • 一个主节点(Master Node) → 即 控制平面(Control Plane)
    • 一个或多个工作节点(Worker Nodes)

🧭 控制平面 负责维护集群的“预期状态”,通过决策与响应事件来调节系统运行。

💡 类比:

控制平面就像一个“恒温器(Thermostat)”,用户设定温度,系统自动调节加热或制冷,以维持目标状态。

例如:

  • 决策示例:控制平面为新创建的工作负载进行调度。
  • 事件响应示例:在应用部署时创建新资源。


二、控制平面(Control Plane)组件

控制平面是 Kubernetes 的“大脑”,负责全局决策与状态管理。其主要组件包括:

1kube-apiserver(API 服务器)

  • 暴露 Kubernetes API,是整个系统的前端接口。
  • 所有集群内外通信均通过此 API 进行。
  • 接收命令(如查看或更改集群状态)。
  • 支持 水平扩展:可运行多个实例并实现负载均衡。

2etcd

  • 高可用的 分布式键值存储,保存整个集群的所有数据。
  • 定义了 Kubernetes 集群的 “期望状态”。
  • 当部署应用时,相关配置会被存储在 etcd 中。
  • 系统通过对比实际状态与期望状态来自动修正偏差。

3kube-scheduler(调度器)

  • 负责将新创建的 Pod 分配到合适的节点上。
  • 根据节点资源、调度策略和配置参数选择最优节点。
  • 决定“工作负载应该运行在哪里”。

4kube-controller-manager(控制器管理器)

  • 运行所有控制器进程,监控集群状态。
  • 保证集群的实际状态与预期状态一致。

5cloud-controller-manager(云控制器管理器)

  • 管理与底层云提供商的交互逻辑。
  • 将 Kubernetes 集群与云提供商 API 进行对接。
  • 允许 Kubernetes 与云平台各自独立演化,无需相互依赖。

🧠 总结:
控制平面 ≈ 决策中心 + 监控与修正机制。


三、工作平面(Worker Plane)组件

工作节点(Worker Node) = 运行用户应用和必要系统服务的机器。
可为虚拟机(VM)或物理机(Bare Metal)。

每个节点由控制平面统一管理,包含运行应用所需的核心服务。


1 Pods(容器组)

  • Kubernetes 中 最小的可部署实体。
  • 每个 Pod 可包含一个或多个容器(Containers)。
  • 容器共享节点资源(CPU、内存、网络等)并可相互通信。

2 kubelet(节点代理)

  • 工作节点中 最重要的组件。
  • 与 kube-apiserver 通信,接收 Pod 的规格说明。
  • 确保 Pod 及其容器按期望状态运行。
  • 负责:
    • 监控容器运行状态;
    • 向控制平面汇报健康状况;
    • 在需要时创建、重启或终止容器。

3 容器运行时(Container Runtime)

  • 负责拉取镜像、创建并运行容器。
  • Kubernetes 提供 CRI(Container Runtime Interface) 接口,支持可插拔实现。
  • 常见运行时:
    • 🐳 Docker(最知名)
    • ⚙️ Podman
    • 🔩 CRI-O

4 kube-proxy(网络代理)

  • 每个节点上运行的网络代理服务。
  • 维护网络规则,允许节点间 Pod 的通信。
  • 实现集群内外部访问与负载均衡。

四、架构总结对照表

层级 主要组件 功能描述
控制平面(Control Plane) kube-apiserver 集群 API 接口,统一通信入口
etcd 集群状态的分布式数据库
kube-scheduler 工作负载调度
kube-controller-manager 状态控制器管理
cloud-controller-manager 云资源控制与集成
工作平面(Worker Plane) Nodes 运行用户应用的计算资源
Pods 最小部署单元
kubelet 节点代理与状态汇报
Container Runtime 镜像与容器运行环境
kube-proxy 网络代理与流量管理

五、课程要点回顾

  • 控制平面(Control Plane)
    • 做出全局决策(如调度、扩缩容)。
    • 包含:API Server、Controller、Scheduler、etcd、Cloud Controller Manager。
  • 工作平面(Worker Plane)
    • 承载应用与工作负载。
    • 包含:Node、kubelet、Container Runtime、kube-proxy。

💬 一句话总结:

Kubernetes 架构由控制平面与工作平面共同构成。控制平面负责“大脑决策”,工作平面承担“执行任务”。二者协作,实现高效、自动化的容器化应用运行。 🚀