当前位置: 首页 > news >正文

Kubernetes相关的名词解释-关于组件分类(8)

前面7篇文章把Kubernetes中的一些组件做了不少介绍了,我们今天按照组件类型把组件划分一下,捋一捋做个小结,后续再继续介绍API Server、Scheduler其他组件。

在Kubernetes集群中,存在有控制平面组件以及Node组件两大类组件,在这两类组件中包含了多种不同功能的组件,这些组件共同保证了Kubernetes集群的正常运行。Kubernetes集群组件结构可参照下图:

一、控制平面组件(Control Plane Components)

控制平面负责集群的全局决策(如调度)、检测和响应集群事件(如部署新Pod)。通常运行在独立的Master节点上,高可用集群中会有多个副本。

核心组件:

  • kube-apiserver

    • 作用:集群的入口,提供REST API,是所有资源操作的唯一入口(如kubectl的请求最终都交给它处理)。

    • 特点:无状态,可水平扩展。

  • etcd

    • 作用:分布式键值存储数据库,保存集群的所有状态数据(如Pod、Service、ConfigMap等)。

    • 特点:高可用集群中需要多个实例(通常3/5个)。

  • kube-scheduler

    • 作用:监视未调度的Pod,根据资源需求、亲和性等规则将其分配到合适的Node上。

    • 调度策略:可自定义(如优先调度到SSD节点)。

  • kube-controller-manager

    • 作用:运行一系列控制器(Controller),确保集群状态与预期一致。

    • 核心控制器

      • Node Controller(监控Node状态)

      • Replication Controller(维护Pod副本数)

      • Endpoints Controller(维护Service与Pod的映射)

      • 其他(如Deployment、Namespace控制器等)。

  • cloud-controller-manager(可选,用于云环境)

    • 作用:与云提供商API交互,管理负载均衡器、存储卷、节点生命周期等。

    • 典型控制器:Node Controller、Route Controller、Service Controller。

二、节点组件(Node Components)

每个工作节点(Worker Node)上运行的组件,负责维护Pod的生命周期和容器运行时环境。

核心组件:

  • kubelet

    • 作用:节点上的“代理”,负责与控制平面通信,确保Pod中的容器按预期运行。

    • 功能

      • 接收Pod定义(通过API Server或本地静态Pod)。

      • 挂载存储卷、下载Secrets。

      • 调用容器运行时(如Docker/containerd)启动容器。

      • 监控容器健康状态并上报。

  • kube-proxy

    • 作用:维护节点上的网络规则(如iptables/IPVS),实现Service的负载均衡和流量转发。

    • 关键功能

      • 将Service的虚拟IP映射到后端Pod。

      • 处理集群内/外的网络通信。

  • 容器运行时(Container Runtime)

    • 作用:负责运行容器的底层软件(如Docker、containerd、CRI-O)。

    • 标准:需支持Kubernetes CRI(Container Runtime Interface)。

三、附加组件(通常归类为控制平面或独立部署)

  • CoreDNS:集群内部的DNS服务,解析Service名称。

  • Metrics Server:收集资源监控数据(如kubectl top)。

  • CNI插件(如Calico、Flannel):实现Pod间网络通信。

  • Ingress Controller(如Nginx Ingress):管理外部访问集群的流量。

四、组件小结

类别组件部署位置
控制平面kube-apiserverMaster节点
etcdMaster节点(或独立集群)
kube-schedulerMaster节点
kube-controller-managerMaster节点
cloud-controller-managerMaster节点(云环境)
节点组件kubelet所有Worker节点
kube-proxy所有Worker节点
容器运行时所有Worker节点

http://www.xdnf.cn/news/46603.html

相关文章:

  • 插叙的作用
  • 【2025软考高级架构师】——计算机系统基础(7)
  • gma 2.1.4 (2025.04.18) | GmaGIS V0.0.1a3 更新日志
  • 【读书笔记·VLSI电路设计方法解密】问题64:什么是芯片的功耗分析
  • JavaWeb 1.HTML+CSS (黑马JavaWeb课程笔记)
  • 交换机端口安全
  • C++学习之游戏服务器开发⑩ZINX的TCP通道实现
  • 基于 Vue3 + ECharts + GeoJson 实现区域地图钻取功能详解
  • 大模型在胆管结石(无胆管炎或胆囊炎)预测及治疗方案制定中的应用研究
  • 【perf】perf工具的使用生成火焰图
  • 自由的控件开发平台:飞帆中使用 css 和 js 库
  • 如何优雅地实现全局唯一?深入理解单例模式
  • uniapp微信小程序实现sse
  • 深度学习优化器详解:SGD、Adam与AdamW
  • C#/.NET/.NET Core技术前沿周刊 | 第 35 期(2025年4.14-4.20)
  • docker 安装 MySQL
  • 【Oracle专栏】函数中SQL拼接参数 报错处理
  • 【网络原理】TCP协议如何实现可靠传输(确认应答和超时重传机制)
  • Vue3 + TypeScript,关于item[key]的报错处理方法
  • Cherry Studio配置MCP服务全流程解析
  • AIGC通信架构深度优化指南
  • C++在VR/AR图形处理开发中的实战应用
  • 02【初体验】安装、配置与 Hello Cargo:踏出 Rust 开发第一步
  • Lora 微调自定义device_map
  • 【Linux】Rhcsa复习5
  • 阿里云 dataworks maxcompute创建python脚本实现列转行 脚本demo示例。
  • 06 GE Modifier
  • AUTOSAR图解==>AUTOSAR_RS_BSWModuleDescriptionTemplate
  • 19. git reflog
  • 力扣每日打卡16 781. 森林中的兔子(中等)