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才干够成功高效的容器编排、控制、和智能化运维。