Kubernetes 架构一张图讲透

Kubernetes 核心组件及作用说明

Kubernetes Master 控制平面核心组件

API Server

整个集群的统一入口,所有请求(kubectl、UI、组件通信)都必须经过它。负责认证、鉴权、校验请求并写入 etcd,是"集群大脑的入口层"。

etcd

分布式键值存储数据库,用来保存整个集群的所有状态数据,包括 Pod、Service、Deployment 配置与状态,是 Kubernetes 的"唯一事实来源"。

Controller Manager

负责维护集群状态一致性,比如副本数量不足会自动补 Pod,节点宕机会触发迁移,本质是"自动修复控制器"。

Scheduler

负责调度 Pod 到具体 Node 上运行,根据资源情况(CPU、内存、亲和性、污点等)做最优分配,是"任务分配调度员"。

Kubernetes Node 工作节点核心组件

kubelet

运行在每个 Node 上,负责与 API Server 通信并管理本机 Pod 生命周期(创建、启动、监控、删除),是"节点执行代理"。

kube-proxy

负责 Service 网络规则,实现 Pod 之间以及外部访问的负载均衡,本质是"网络转发与服务发现代理"。

Container Runtime

真正运行容器的组件,如 containerd 或 Docker,负责镜像拉取与容器创建,是"容器执行引擎"。

附加核心概念组件

CoreDNS

负责集群内部 DNS 解析,实现服务名访问服务 IP,是"服务发现系统"。

Ingress Controller

负责集群外部流量入口控制,实现 HTTP/HTTPS 路由转发,是"南北向流量入口网关"。

总结一句话理解
API Server 负责入口,etcd 负责存储,Controller 负责自愈,Scheduler 负责调度,Node 上 kubelet 负责执行,kube-proxy 负责网络,Runtime 负责真正跑容器,DNS 和 Ingress 负责对外服务能力。

流程总结

核心流程kubectl apply 提交期望 → apiserver 验证并记录 → etcd 存储状态差异 → controller 循环修正 → scheduler 决策最优节点 → kubelet 执行容器任务 → kube-proxy 提供稳定访问。

设计哲学:声明式(只描述目标)、控制循环(持续对齐状态)、最终一致性(自动收敛)。Kubernetes 不是命令驱动,而是一个"自运转"的状态驱动系统。

留言 4

相关推荐
渣渣盟3 小时前
数据仓库 vs 数据湖 vs 湖仓一体:架构演进与选型
数据仓库·架构
码点滴3 小时前
告别显存焦虑:PagedAttention 如何将大模型吞吐量提升 4 倍?
人工智能·架构·kubernetes·大模型·pagedattention
SamDeepThinking4 小时前
如何让订单系统和营销系统解耦
java·后端·架构
一切皆是因缘际会5 小时前
通用人工智能底层原理:从记忆结构视角解析大模型行为与意识涌现
人工智能·安全·ai·架构·系统架构
一切皆是因缘际会5 小时前
预制式制衡智能:大模型瓶颈下的 AI 迭代新思路
人工智能·安全·ai·架构
SamDeepThinking5 小时前
一个跑了三年没出过问题的系统,我是怎么设计的
java·后端·架构
Walter先生6 小时前
Python 行情数据清洗实战:Z-Score、MAD 与分位数过滤的异常值检测
后端·websocket·架构·实时行情数据源·美股行情api
Ulyanov6 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:动态数据仪表盘与 NumPy 可视化 —— 从标量到向量的数据驱动进化
开发语言·python·qt·架构·numpy
誰能久伴不乏6 小时前
Qt/C++ 架构之美:用一个“水龙头”隐喻,讲透面向接口编程与彻底解耦
c++·qt·架构