Kubernetes

一、Kubernetes 的本质

1. Kubernetes 的核心命题

在抽离所有技术细节之后,Kubernetes 要解决的本质问题只有一个:

如何在不确定的基础设施之上,可靠地运行确定的应用意图?

更抽象地说:


2. Kubernetes 的哲学基础

Kubernetes 的设计基于四个根本思想:

思想含义
声明式描述“要什么”,而不是“怎么做”
控制器模型通过不断对比期望状态与实际状态来修正系统
资源抽象用统一的 API 描述一切
基础设施即资源池屏蔽底层节点差异

3. Kubernetes 的抽象公式

从认知高度,可以把 Kubernetes 抽象为:

用户意图(YAML)     ↓API Server(期望状态存储)     ↓控制器模型(Reconciliation Loop)     ↓调度 + 执行     ↓最终运行态

二、Kubernetes 的统一认知模型

1. 三层统一架构

Kubernetes 可以被简化为三层模型:

+-----------------------------+|        API & 资源层         ||  Pod / Service / Deployment |+-----------------------------+|         控制层              || Controller + Scheduler      |+-----------------------------+|         执行层              || kubelet + CRI + CNI        |+-----------------------------+

2. 控制器模型:Kubernetes 的心脏

一切 Kubernetes 组件都遵循同一范式:

for {    actual := getActualState()    desired := getDesiredState()    if actual != desired {        makeThemEqual()    }}

这就是 Kubernetes 最核心的第一性原理:

期望状态驱动的自动化收敛系统


三、架构:从宏观到微观

1. 控制平面(Control Plane)

控制平面的本质是:

一个分布式意图处理系统

组件本质职责
API Server意图网关
etcd状态之源
Scheduler资源决策
Controller Manager状态收敛

(1)API Server:唯一入口

本质:

API Server = Kubernetes 的“大脑皮层”


(2)etcd:状态中枢

本质公式:

Kubernetes 的可靠性 ≈ etcd 的可靠性

(3)Scheduler:资源调度器

调度本质:

在资源池中寻找最合适的节点

逻辑模型:

未调度 Pod     ↓过滤可用节点     ↓打分     ↓绑定节点

(4)Controller Manager:系统稳定器

负责让系统:

从“实际状态” → “期望状态”


2. 执行平面(Node)

(1)Kubelet

本质:

“节点上的执行代理”


(2)kube-proxy

本质:

Service 网络规则控制器

真正转发流量的是:

kube-proxy 的定位:

不是代理,而是“规则编程器”


(3)CRI / CNI / CSI

接口抽象目的
CRI运行时解耦
CNI网络解耦
CSI存储解耦

体现 Kubernetes 的核心设计思想:

一切皆可插拔


四、对象模型:Kubernetes 的语言

1. Pod —— 最小运行单元

本质定义:

Pod = 一个逻辑主机

容器与 Pod 的关系:

比喻层对应
Pod机器
Container进程

2. Service —— 稳定入口

Service 的本质:

为动态 Pod 集合提供稳定访问点

三大功能:


3. Deployment —— 无状态管理器

本质:

版本化的副本控制器

Deployment   ↓ReplicaSet   ↓Pod

4. StatefulSet —— 状态化管理器

解决两个问题:

维度含义
拓扑状态编号顺序
存储状态独立 PVC

5. DaemonSet / Job / CronJob

对象场景本质
DaemonSet节点守护进程
Job一次性任务
CronJob定时任务

五、网络模型

Kubernetes 网络的第一性原理:

任何 Pod 可以无 NAT 直连任何 Pod


核心抽象


六、存储模型

Kubernetes 存储的核心理念:

存储与计算解耦

抽象层级:

Pod  ↓PVC(声明)  ↓PV(资源)  ↓StorageClass(策略)

七、安全模型

Kubernetes 安全的三个维度:

维度机制
身份ServiceAccount
权限RBAC
隔离NetworkPolicy

八、可观测性模型

现代运维三件套:

能力实现
MetricsPrometheus
LoggingEFK/ELK
TracingOpenTelemetry

九、运维方法论

1. 资源管理原则


2. 发布策略

模式场景
滚动更新常规发布
蓝绿发布大版本
金丝雀灰度

3. 高可用设计


十、最佳实践原则

应用设计原则


运维实践原则


十一、Kubernetes 的边界

Kubernetes 不是什么:

它是:

分布式应用的运行时平台


十二、技术演进趋势


关联内容(自动生成)