K8S原理架构最全详解(图文全面总结)

K8S是大型架构核心,下面我详解K8S原理架构@mikechen

K8S 的整体架构

K8S 主要分为控制平面和工作节点两部分。

K8S原理架构最全详解(图文全面总结)-mikechen

控制平面负责集群的管理与决策,核心组件包括:

API Server:集群的统一入口,所有请求都要经过它。它负责验证、认证、数据处理以及与其他组件通信。

etcd:分布式键值数据库,用于保存集群的所有状态信息,是 K8S 的“数据库”。

Scheduler:负责调度,将待运行的 Pod 分配到合适的节点上。

Controller Manager:运行各种控制器,持续检查系统状态并做出调整,例如副本控制器、节点控制器等。

 

Control Plane(控制平面)

整个 Kubernetes 的”大脑”。

主要包含五大组件。

① API Server

API Server 是整个集群的唯一入口。

K8S原理架构最全详解(图文全面总结)-mikechen

所有请求:

kubectl

↓

API Server

例如:

kubectl get pods

实际上:

kubectl

↓

HTTPS

↓

API Server

↓

返回结果

所有组件都通过 API Server 通信。

② etcd

etcd 是 Kubernetes 的数据库。

K8S原理架构最全详解(图文全面总结)-mikechen

保存:

  • Pod;
  • Node;
  • Deployment;
  • ConfigMap;
  • Secret;
  • Namespace;

例如:

Pod:

Java-01

Java-02

Redis

全部保存在 etcd。

③ Scheduler(调度器)

作用:

决定 Pod 放到哪台机器。

例如:

Node1

CPU:20%

Memory:30%
Node2

CPU:90%

Memory:80%

Scheduler:

↓

选择 Node1

④ Controller Manager

Controller 是 Kubernetes 的”自动驾驶系统”。

K8S原理架构最全详解(图文全面总结)-mikechen

例如:

Deployment:

Replicas = 3

实际上:

Pod1

Pod2

Pod3

如果:

Pod2

挂掉

Controller:

↓

重新创建

Pod2

保证:

始终保持3个Pod

K8S工作节点

工作节点负责真正运行容器,主要包括:

K8S原理架构最全详解(图文全面总结)-mikechen

kubelet:节点上的管理代理,负责接收 API Server 的指令并确保 Pod 正常运行。

kube-proxy:负责网络转发和服务访问规则的维护。

容器运行时:如 containerd、CRI-O,用于真正拉取镜像并启动容器。

这种架构使 K8S 具备良好的扩展性与可维护性,控制逻辑集中在控制平面,执行逻辑分散在各节点。

评论交流
    说说你的看法