Kubernetes 集群组件

本文详细介绍了Kubernetes的几个核心组件及其功能,包括Etcd、APIserver、ControllerManger、Scheduler、Kubelet、Kube-proxy、Kubectl和cAdvisor等,深入探讨了它们在容器编排中的角色和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kubernetes 主要由以下几个核心组件组成:

Etcd:是高可用的 key/value 存储系统,用于持久化存储集群中的所有资源对象,比如:Node,Pod,Serivce,RC,namespace 等。API server 提供了操作 etcd 的封装接口 API,以 Rest 的方式提供,这些 API 基本上都是集群中资源对象的增删改查及监听资源变化的接口,比如创建 Pod、RC,监听 Pod 的变化等接口。API server 是连接其他所有服务组件的中间枢纽。

API Server:提供了资源对象的唯一操作入口,其他组件都必须通过它提供的 API 来操作资源数据,通过对相关的资源数据"全量查询" + "变化监听",这些组件可以很"实时"的完成相关的业务功能。比如提交一个新的 Pod 到 API server 中,Controller Manger 可以立即就发现并开始作用。它还有一套完备的安全机制,包括认证、授权及准入控制等相关模块。

Controller Manger:集群内部的管理控制中心,主要完成了集群的故障检测和恢复的自动化工作。比如对 RC 定义的 Pod 进行维护;根据 service 和 Pod 的关系,完成服务的 Endpoints 对象的创建和更新;还有 Node 的发现、管理和状态监控,死亡容器所占资源及本地缓存的镜像文件的清理等工作。

Scheduler: 集群的调度器,负责 Pod 在集群节点中的调度分配,也负责 Volume(CVI)和网络(CNI)的管理,按照预定的调度策略将 Pod 调度到相应的机器上;

Kubelet:负责本地节点上 Pod 的创建、修改、监控、删除等生命周期管理,同时会上报本 Node 的状态信息到 API server。

Kube-proxy:实现 Service 的代理及软件模式的负载均衡器。

Kubectl:集群内部的客户端可以直接使用 kubectl 命令管理集群;集群外的客户端需要使用 kubectl Porxy 进行反向代理来访问 API server。

cAdvisor: 在 Node 节点运行的 Kubelet 服务中内嵌了一个 cAdvisor 服务,cAdvisor 是谷歌的开源项目,用于实时监控 Docker 上运行的容器的性能指标。

转载于:https://www.cnblogs.com/jacksonxiao/p/11299158.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值