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

K8S架构原理详解(图文全面总结)大家好 我是 mikechen K8S 是云原生最核心的内容 也是云计算的未来 下满我就全面来详解 K8S 架构原理 mikechen 本文作者 陈睿 mikechen 文章来源 mikechen ccK8S 随着容器化技术的普及 如何有效地管理 和编排

大家好,欢迎来到IT知识分享网。

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

大家好,我是mikechen。

K8S是云原生最核心的内容,也是云计算的未来,下满我就全面来详解K8S架构原理@mikechen

本文作者:陈睿|mikechen

文章来源:mikechen.cc

K8S

随着容器化技术的普及,如何有效地管理、和编排大规模的容器集群成为了一个挑战。

Kubernetes应运而生,它提供了一个强大的平台,用于自动化容器的部署、扩展和管理。

Kubernetes(简称K8S)是一个开源的容器编排平台,最初由Google开发,2014年开源。

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

K8S,用于自动化部署、扩展和管理容器化应用,支持跨主机集群的容器调度与管理。

K8S基于Google内部Borg系统的经验,提供了声明式配置、高可用性和可扩展性。

K8S架构

K8S采用主从分布式架构,如下图所示:

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

K8S集群,由主节点(Master节点)、和工作节点(Node节点)组成。

     +--------------------+         +----------------+     |      API Server    |<------->|      etcd      |     +--------------------+         +----------------+               |     +---------+---------+     |                   |+-----------+   +------------------+| Scheduler |   | ControllerManager|+-----------+   +------------------+         ↓ 控制指令下发 +--------------------------+|        Worker Node       |+--------------------------+| kubelet | kube-proxy | CRI ||    Pod(多个容器)         |+--------------------------+

控制平面(Master)

管理集群状态,包含API Server、控制器管理器、调度器和etcd。

工作节点(Node)

运行应用,包含Kubelet、Kube-Proxy和容器运行时。

K8S原理

K8S最核心会涉及到:API Server、控制器、Kubelet…等组件,要想掌握好K8S原理,需要掌握好这些组件。

1.API Server

kube-apiserver,是控制平面的核心API服务器,是所有集群操作的入口。

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

K8S,提供REST API,供kubectl、UI、控制器调用。

负责:认证、授权、准入控制、数据校验…等等功能。

2. Scheduler

负责为Pod选择合适的Node节点。

调度过程:

  1. 过滤(过滤掉资源不足/不满足约束条件的节点);
  2. 打分(根据优先级函数选择最优节点);
  3. 绑定Pod到目标Node。

3. Controller Manager

kube-controller-manager 是 Kubernetes 控制平面的一个核心组件。

负责运行各种控制器,这些控制器监控集群的状态,并确保集群达到期望的状态。

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

多种控制器的集合:

  • ReplicaSetController:副本管理
  • NodeController:节点失联检测
  • JobController、DaemonSetController等

4. etcd

K8S的分布式状态存储系统,存储集群中所有对象状态。

支持高可用(多副本)、基于Raft协议。

分布式键值存储:存储集群的所有状态数据。

存储集群状态:是集群的“大脑”,确保数据的一致性和可靠性。

5.kubelet

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

节点代理:运行在每个节点上的代理,管理Pod和容器。

管理Pod和容器:确保Pod中的容器按照期望状态运行。

6.kube-proxy

网络代理:实现Service的负载均衡和网络代理。

实现Service的负载均衡:维护网络规则,将流量转发到正确的Pod。

7.容器运行时(Container Runtime)

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

容器运行环境:负责运行容器,如Docker、containerd。

K8S工作流程

整体工作流程,如下:

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

  1. 用户通过 kubectl 与 API Server 交互。
  2. API Server 将集群的期望状态存储在 etcd 中。
  3. 控制器管理器监控集群状态,并采取行动来维持期望状态。
  4. 调度器将 Pod 调度到合适的节点上。
  5. Kubelet 管理节点上的 Pod 和容器。
  6. kube-proxy进行网络的代理与负载均衡。

通过以上组件的协同工作,K8S以实现容器的部署、扩展和自动化管理。

以上

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/184909.html

(0)
上一篇 2025-08-03 08:15
下一篇 2025-08-03 08:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信