前置知识: 云计算

Kubernetes架构

00:00
4 min Intermediate 2026/6/14

Kubernetes核心架构:控制平面、节点组件、etcd、API Server 等详解。

1. Kubernetes 整体架构

1.1 架构图

┌──────────────────── 控制平面 ────────────────────┐
│  ┌──────────┐ ┌──────────┐ ┌──────────┐        │
│  │API Server │ │Scheduler │ │Controller│        │
│  │          │ │          │ │ Manager  │        │
│  └────┬─────┘ └──────────┘ └──────────┘        │
│       │                                          │
│  ┌────┴─────┐                                   │
│  │  etcd    │                                   │
│  └──────────┘                                   │
└──────────────────────────────────────────────────┘

    ┌───────┴───────┐
    ▼               ▼
┌─────────┐   ┌─────────┐
│  Node 1 │   │  Node 2 │
│ ┌─────┐ │   │ ┌─────┐ │
│ │kubelet│ │   │ │kubelet│ │
│ └─────┘ │   │ └─────┘ │
│ ┌─────┐ │   │ ┌─────┐ │
│ │Proxy │ │   │ │Proxy │ │
│ └─────┘ │   │ └─────┘ │
│ ┌─────┐ │   │ ┌─────┐ │
│ │ Pods │ │   │ │ Pods │ │
│ └─────┘ │   │ └─────┘ │
└─────────┘   └─────────┘

1.2 设计理念

理念描述
声明式 API描述期望状态,系统自动趋近
控制循环持续观测并调和状态
松耦合组件间通过 API 通信
可扩展CRD、Operator、插件

2. 控制平面组件

2.1 API Server

集群的统一入口,所有操作都通过 API Server 进行。

核心功能

  • RESTful API 网关
  • 认证、授权、准入控制
  • 数据验证与持久化
  • Watch 机制(变更通知)

请求流程

请求 → 认证 → 授权 → 准入控制 → 验证 → etcd 持久化 → 响应

2.2 etcd

分布式键值存储,Kubernetes 的唯一状态存储。

特性描述
一致性Raft 共识协议
Watch监听键值变化
事务Compare-and-Set
TTL键值过期

运维要点

  • 奇数节点(3/5/7)
  • SSD 存储
  • 独立部署
  • 定期备份

2.3 Scheduler

负责将 Pod 调度到合适的节点。

调度流程

1. 过滤(Filter):排除不满足条件的节点
2. 评分(Score):对可行节点打分
3. 绑定(Bind):将 Pod 绑定到最高分节点

调度策略

策略描述
节点选择器nodeSelector
节点亲和性nodeAffinity
Pod 亲和/反亲和podAffinity/podAntiAffinity
污点与容忍taints/tolerations
资源限制CPU/内存请求与限制

2.4 Controller Manager

运行各种控制器,每个控制器是一个控制循环。

控制器功能
Deployment Controller管理 ReplicaSet
ReplicaSet Controller维护 Pod 副本数
Node Controller节点健康监测
Job Controller一次性任务
Endpoints ControllerService 端点
Service Account Controller服务账户

3. 节点组件

3.1 kubelet

节点上的代理,负责 Pod 的生命周期管理。

心职责

  • Pod 创建与销毁
  • 容器健康检查
  • 资源使用上报
  • Volume 挂载

3.2 kube-proxy

维护网络规则实现 Service负载均衡

代理模式

模式描述性能
iptablesiptables 规则
IPVSIPVS 负载均衡
userspace用户空间代理低(已弃用)

3.3 容器运行时

运行时
containerd默认推荐
CRI-O轻量级
Docker已弃用(1.24+)

4. API 对象与资源

4.1 核心资源

资源API 组描述
Podcore最小
Servicecore服务发现负载均衡
ConfigMapcore配置管理
Secretcore敏感数据
Namespacecore资源隔离
Deploymentapps状态应用
StatefulSetapps状态应用
DaemonSetapps节点一个 Pod
Jobbatch一次性任务
CronJobbatch定时任务
IngressnetworkingHTTP 路由
PV/PVCstorage持久化存储

4.2 声明式管理

# 期望状态
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.25

5. 高可用架构

5.1 控制平面 HA

┌─────────────────────────────────┐
│        负载均衡器 (LB)           │
└───────┬─────────┬───────────────┘
        │         │
   ┌────▼───┐ ┌──▼────┐ ┌───────┐
   │Master 1│ │Master2│ │Master3│
   │(leader)│ │(follower)│ │(follower)│
   └────────┘ └───────┘ └───────┘

5.2 etcd HA

  • 3 节点容忍 1 节点故障
  • 5 节点容忍 2 节点故障
  • 使用 Raft 协议选举 Leader

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式