1. 首页 > 资讯

九大组件原理图解 K8S组件最全详解

Kubernetes(简称K8s),是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。

K8S诞生于Google,基于其多年在生产环境中运行容器的经验,现已成为现代微服务架构、和云原生应用的核心技术。

K8S通过管理容器的生命周期,确保系统在大规模的生产环境中,可以高效稳定地运行。

K8S组件

k8s采用主从架构,其中集群中的所有节点都由控制平面管理、和调度。

如下图所示:

K8S组件,主要会包含两大最核心的组件:控制平面(Control Plane)、工作节点(Worker Nodes)。

控制平面(Control Plane):负责管理整个集群的状态,调度任务,监控集群正常运行;

工作节点(Worker Nodes):运行实际的应用容器,负责:容器的运行、和管理。

如果你想掌握好K8s,最核心的就是掌握好:控制平面(Control Plane)和工作节点(Worker Nodes)。

下面,我就分别详解:控制平面(Control Plane)和工作节点(Worker Nodes)@mikechen

控制平面组件

控制平面:负责管理 Kubernetes 集群中的所有节点、和 Pod。

它由以下组件组成,重点关注下图的“黄色框”:

“黄色框”会涉及到如下组件:API Server、Scheduler、Controller...等核心组件。

API Server:它是集群的入口,类似微服务网关这样,所有操作必须通过 API Server。

负责接收来自用户、和其他组件的请求,并通过 REST API 提供集群管理功能。

Controller Manager

Controller Manager :是集群管理中的重要组件,它负责确保集群的实际状态与期望状态的一致性。

Controller Manager,是由多个控制器组成,每个控制器负责处理集群中的一种或、多种资源对象的状态管理。

如下图所示:

每个控制器负责:特定类型的资源、或功能。

常见的控制器包括:

总之,控制器的设计使得 K8S,能够在大规模环境中自动化管理容器、和服务。

负责根据调度策略(如:资源使用率、亲和性...等),将新创建的 Pod 分配到合适的节点上。

比如:通过 CPU、内存、GPU ...等资源的要求,Scheduler 确保节点有足够的可用资源来满足 Pod 的需求。

并且,通过调度策略,比如:公平调度、优先级...等,确保资源的合理分配和高效利用。

分布式键值存储系统,用于保存集群的所有配置信息、和状态数据。

etcd,重点保证数据的一致性、和持久性。

以及,提供集群状态的快速读取、和修改能力。

工作节点的组件

工作节点组件:运行实际的应用容器,负责:容器的执行、和管理。

每个工作节点,包含以下“绿色框”所示组件:

工作节点是运行实际应用程序的地方,它接收 API Server 的调度指令并运行 Pod。

工作节点上的核心组件包括:

每个节点上的代理,负责确保 Pod 正常运行。

Pod是 K8S中最小的可部署单元,通常由一个、或多个紧密耦合的容器组成。

如下图所示:

Pod 是 Kubernetes 中的基本构建块,提供了容器的封装、和管理功能。

它们可以包含一个、或多个容器,这些容器共享:网络、存储资源,并在同一个环境中运行。

当创建一个 Pod 时,K8S调度器,会将 Pod 调度到合适的工作节点上。

调度器根据资源需求、节点的负载、和调度策略来选择节点。

一旦 Pod 被调度到节点上,kubelet 在节点上启动并运行 Pod 中的容器。

Kube-proxy

网络代理,管理网络规则,确保容器、和服务之间的网络通信。

比如:使用 iptables 、或 ipvs 维护网络规则,将流量转发到相应的 Pods。

容器运行时

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

主要复制:拉取容器镜像,创建、和运行容器。

以及,提供容器的生命周期管理,如:启动、停止和监控容器...等等。

总之,K8S的控制平面、和工作节点是集群正常运行的核心,通过这两部分的协同工作,K8S才能够实现高效的容器编排、管理、和自动化运维。

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/zixun/36397.html

联系我们

QQ号:***

微信号:***

工作日:9:30-18:30,节假日休息