跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

Kubernetes 完全指南:从集群架构到应用模型

Kubernetes 的核心架构与应用模型。架构部分涵盖控制平面组件(API Server、etcd、Scheduler 等)和工作节点组件(kubelet、容器运行时等),阐述了各组件职责及通信机制。应用模型部分讲解了 Pod、工作负载资源、服务发现、配置管理、存储管理及命名空间等核心概念。通过理解声明式配置与自动化运维理念,掌握云原生应用部署的基础原理。

栈溢出发布于 2026/3/24更新于 2026/7/525K 浏览
Kubernetes 完全指南:从集群架构到应用模型

Kubernetes 完全指南:从集群架构到应用模型

一、Kubernetes 集群架构

一个 Kubernetes 集群由**控制平面(Control Plane)和工作节点(Worker Nodes)**构成。控制平面负责全局决策与状态管理,工作节点负责运行实际的容器化应用。

架构速览:你可以想象一个典型的集群包含至少一个控制平面节点(通常为 3 个以实现高可用)和多个工作节点。控制平面节点上运行着 API Server、etcd、Scheduler、Controller Manager 等组件;工作节点上运行着 kubelet、kube-proxy 和容器运行时。所有组件通过 API Server 进行通信,形成一个有机整体。

1.1 控制平面组件

控制平面组件对集群做出全局决策,并存储所有状态数据。它们通常部署在专用节点上以保证稳定性。

API Server(kube-apiserver)

API Server 是整个集群的'交通枢纽',它暴露了 Kubernetes API,供用户、命令行工具(如 kubectl)以及内部组件通信。所有对集群的操作请求都经过 API Server,它会执行认证(Authentication)、**授权(Authorization)和准入控制(Admission Control)**三层安全校验,然后将资源状态持久化到后端存储中。API Server 是唯一直接与 etcd 交互的组件。

etcd

etcd 是一个高可用、强一致性的分布式键值存储,作为 Kubernetes 的后端数据库。它保存了所有集群数据,包括 Pod、Service、Deployment 等资源的定义和当前状态。etcd 通常以奇数个节点集群部署,并基于 Raft 共识算法确保数据一致性(例如,3 节点集群可容忍 1 节点故障)。etcd 被视为集群的'真相来源',定期备份 etcd 数据是灾难恢复的关键。

Scheduler(kube-scheduler)

Scheduler 负责监视新创建的、尚未分配到节点的 Pod,并根据一系列策略(如资源需求、节点亲和性、污点容忍等)选择一个最合适的节点运行该 Pod。调度决策会考虑单个 Pod 和集群整体的资源状况、硬件/软件约束以及高可用要求。常见的调度策略包括:nodeSelector(节点标签选择)、节点亲和性/反亲和性、Pod 亲和性/反亲和性,以及自定义调度器扩展。

Controller Manager(kube-controller-manager)

Controller Manager 运行着多个控制器进程,每个控制器通过 API Server 监视集群状态,并努力将当前状态调整为期望状态。这些控制器并发运行,各自负责不同的资源类型。常见的内置控制器包括:

  • 节点控制器:监控节点健康,处理节点宕机时的 Pod 驱逐。
  • 副本控制器:确保指定数量的 Pod 副本正在运行(Deployment 等高级资源依赖此逻辑)。
  • 端点控制器:维护 Service 与 Pod 之间的端点(Endpoints)对象。
  • Service 账户与令牌控制器:管理命名空间中的默认账户和 API 访问令牌。
  • 其他控制器(如 Namespace、Job、CronJob 等)。 所有控制器被编译成单个二进制文件并作为单个进程运行,以降低复杂性。
Cloud Controller Manager(cloud-controller-manager)

这是一个可选组件,用于将 Kubernetes 与特定云服务商(如 AWS、GCP、Azure)的 API 集成。它运行云平台相关的控制器,例如:

  • 节点控制器:检查云平台以确定节点是否已被删除。
  • 路由控制器:在云基础设施中设置网络路由。
  • 服务控制器:创建、更新和删除云负载均衡器(当 Service 类型为 LoadBalancer 时)。 引入 Cloud Controller Manager 使得核心 Kubernetes 代码与云平台逻辑解耦,便于云原生扩展。在自建机房(on-premise)环境中,通常不需要此组件。
1.2 工作节点组件

工作节点是运行容器化应用的机器(物理机或虚拟机),每个节点上都运行着必要的代理服务。

kubelet

kubelet 是运行在每个节点上的主要代理,它负责确保节点上的容器按照 PodSpec(Pod 的描述)运行。kubelet 会监视 API Server 上分配给本节点的 Pod,并通过容器运行时接口(CRI)与底层的容器运行时交互,以启动、停止容器,并定期上报节点和 Pod 的状态给控制平面。它还负责执行存活探针(livenessProbe)和就绪探针(readinessProbe),以实现应用健康检查和流量切换。

container runtime(容器运行时)

容器运行时是实际运行容器的软件,例如 Docker、containerd、CRI-O 等。Kubernetes 通过容器运行时接口(CRI)支持多种运行时,允许灵活选择底层技术栈。

  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Kubernetes Gateway API 与 Envoy Gateway 部署指南
  • Java OCR 快速集成:基于 PaddleOCR 的实战指南
  • LangChain 结合 Milvus 与千帆大模型构建 RAG 应用实践
  • Android 设备连接 Mac 的 6 种常用方法
  • 机器人脑部药物递送三大技术路径的可转化性分析
  • 机器人脑部药物递送三大技术路径的可转化性分析研究
  • 技术学习资源整理:电子书、软件与 AI 工具合集
  • 夸克网盘精选资源汇总:电子书、软件与学习素材
  • 技术学习资源精选:电子书、软件及 AI 工具目录
  • Krita 插件配置与 AI 绘画模型部署指南:故障诊断与维护
  • Kotlin 相等性判断:结构相等与引用相等详解
  • 低空经济无人机巡检系统一网统飞落地方案
  • 低空经济一网统飞无人机巡检系统落地方案
  • KoboldAI 安装与配置指南
  • HDFS 常用命令与 Java API 编程实践
  • 数据产品经理与 AI 产品经理的核心区别与发展前景
  • PySide6 QtSerialPort 库串口通信开发指南
  • 人工智能应用工程师(高级):全栈技能体系与实战路径
  • Kimi K2.5 开源部署、API 接入、Agent 集群与多模态视觉实战
  • Kettle 实现数据增量同步方案

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online

目录

  1. Kubernetes 完全指南:从集群架构到应用模型
  2. 一、Kubernetes 集群架构
  3. 1.1 控制平面组件
  4. API Server(kube-apiserver)
  5. etcd
  6. Scheduler(kube-scheduler)
  7. Controller Manager(kube-controller-manager)
  8. Cloud Controller Manager(cloud-controller-manager)
  9. 1.2 工作节点组件
  10. kubelet
  11. container runtime(容器运行时)
  • 免费图片AI生成工具免费生成了解详情