Kubernetes集群架构与组件
Kubernetes集群架构图:
简化版架构图:
-
kube-apiserver:集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听都交给aipserver处理后在提交给etcd存储。
-
kube-controller-manager:作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保集群始终处于预期的工作状态。
-
kube-scheduler:负责k8s集群中pod的调度的 , scheduler通过与apiserver交互监听到创建Pod副本的信息后,它会检索所有符合该Pod要求的工作节点列表,开始执行Pod调度逻辑。调度成功后将Pod绑定到目标节点上,相当于“调度室”。
-
etcd:分布式键值存储系统,用于保存集群状态数据,比如:Pod、Service等对象信息。
-
kubectl:管理k8s的命令行工具,可以操作k8s中的资源对象,如增删改查等
-
Cordns:CoreDNS 其实就是一个 DNS 服务,而 DNS 作为一种常见的服务发现手段,很多开源项目以及工程师都会使用 CoreDNS 为集群提供服务发现的功能,Kubernetes 就在集群中使用 CoreDNS 解决服务发现的问题。
-
Calico: 是一套开源的网络和网络安全方案,用于容器、虚拟机、宿主机之前的网络连接,可以用在kubernetes、OpenShift、DockerEE、OpenStrack等PaaS或IaaS平台上。
-
kubelet:kubelet是Master'在Node上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、获取容器和节点状态等工作,kubelet将每个Pod转换成一组容器。
-
kube-proxy:在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。
-
Docker:容器运行时,负责启动容器的,在k8s1.20版本之后建议废弃docker,使用container作为容器运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏