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

相关推荐
熊出没2 小时前
云原生架构落地实践:Kubernetes 生产级配置与 Service Mesh 流量治理
云原生·架构·kubernetes·istio
小坏讲微服务3 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
迪康妍妍3 小时前
终端管控实操:封堵网盘与IM外发通道的落地思路
运维·网络·安全·架构·安全性测试
光影少年6 小时前
AI Agent、自动化与未来工作
人工智能·算法·架构
xianyuCcCcCCCcc7 小时前
Ceph 分布式存储:核心架构与集群部署
分布式·ceph·架构
小天源7 小时前
智叟云集系统整体架构解析:多语言 API 接入、异步监控与本地化部署
架构·数据采集·数据中台·ai监测系统·geo数据监测
真上帝的左手8 小时前
10. 软件设计&架构-分布式文件存储系统
分布式·架构·应用架构
弈栈录8 小时前
大模型服务抽象:兼容 OpenAI、通义千问与本地模型
java·后端·架构
CCblandy9 小时前
一致性哈希到底省了多少搬迁?本机实测 3 轮:取模 6→7 搬 85.8%,V=128 只搬 14.3%,虚拟节点太少会被倾斜骗
后端·python·云原生·性能优化·架构
code_slave(码畜)9 小时前
微服务架构落地:OpenFeign 服务远程调用 + 线程池隔离架构实战 —— 超时控制、重试机制、线程池隔离,防雪崩
spring boot·spring cloud·微服务·云原生·架构·openfeign