K8S:开源容器编排平台,助力高效稳定的容器化应用管理

云计算de小白

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

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

图片

K8S对容器的生命周期进行管理,保证系统在大规模生产环境中高效稳定地运行。

K8S 组件

K8s采用主从架构,集群内所有节点都由控制平面进行管理和调度。

如下图所示:

图片

K8S组件主要包括两个核心组件:Control Plane、Worker Nodes。

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

Worker Nodes:运行实际的应用程序容器,并负责:容器的运行和管理。

如果想掌握K8s,最重要的就是掌握:Control Plane 和 Worker Nodes。

接下来我会详细讲解:Control Plane 和 Worker Node@mikechen

控制平面组件

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

它由以下几个部分组成,重点关注下图中的"黄色框":

图片

"黄色框"涉及以下组件:API Server,Scheduler,Controller......等核心组件。

API 服务器

API Server:集群的入口,类似微服务网关,所有的操作都要经过API Server。

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

控制器管理器

控制器管理器(Controller Manager):是集群管理中的重要组件,负责保证集群的实际状态和预期状态的一致性。

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

如下图所示:

图片

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

常见的控制器有:

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

调度器

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

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

另外通过公平调度、优先级等调度策略,保证资源的合理分配和高效利用。

etcd

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

etcd 专注于保证数据的一致性和持久性。

并且,提供快速读取和修改集群状态的能力。

工作节点的组件

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

每个工作节点包含以下绿色框中所示的组件:

图片

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

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

库贝莱特

每个节点上的agent负责保证Pod正常运行。

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

如下图所示:

图片

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

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

当Pod被创建之后,K8S调度器会把该Pod调度到合适的工作节点上。

调度程序根据资源需求、节点负载和调度策略选择节点。

一旦 Pod 被调度到某个节点,kubelet 就会启动并运行该节点上 Pod 中的容器。

Kube-proxy

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

例如:使用iptables或者ipvs来维护网络规则,将流量转发到相应的Pod。

容器运行时

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

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

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

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

相关推荐
THMAIL1 小时前
mac M芯片运行docker-desktop异常问题
macos·docker·容器
家庭云计算专家2 小时前
还没用过智能文档编辑器吗?带有AI插件的ONLYOFFICE介绍
服务器·人工智能·docker·容器·编辑器
云手机管家5 小时前
CDN加速对云手机延迟的影响
运维·服务器·网络·容器·智能手机·矩阵·自动化
孤的心了不冷5 小时前
【Docker】CentOS 8.2 安装Docker教程
linux·运维·docker·容器·eureka·centos
头疼的程序员6 小时前
docker学习与使用(概念、镜像、容器、数据卷、dockerfile等)
学习·docker·容器
淡水猫.6 小时前
hbit资产收集工具Docker(笔记版)
运维·docker·容器
水淹萌龙11 小时前
k8s 中使用 Service 访问时NetworkPolicy不生效问题排查
云原生·容器·kubernetes
alden_ygq14 小时前
K8S cgroups详解
容器·贪心算法·kubernetes
旧故新长14 小时前
访问 Docker 官方镜像源(包括代理)全部被“重置连接”或超时
运维·docker·容器
云攀登者-望正茂20 小时前
最大化效率和性能:AKS 中节点池的强大功能
云原生·容器·kubernetes