Kubernetes SIG Multicluster 核心术语指南:About API、MCS、ClusterSet 与 Work API 全解析
2026/9/17 1:23:32 网站建设 项目流程

Kubernetes SIG Multicluster 核心术语指南:About API、MCS、ClusterSet 与 Work API 全解析

【免费下载链接】communityKubernetes Community Documentation项目地址: https://gitcode.com/GitHub_Trending/com/community

导读

多集群(Multi-cluster)是 Kubernetes 生态中最复杂、术语也最容易混淆的领域之一:ClusterClaimClusterPropertyAbout APIMCSClusterSetWork API……这些名词之间既有演进关系,又有语义差异。本文以 Kubernetes Community 仓库中 SIG Multicluster 的官方术语表(sig-multicluster/terminology.md)为骨架,结合该 SIG 的 README、Charter、Namespace Sameness 立场声明 以及历年年度报告,逐一厘清每个术语的定义、曾用名、别名及其在仓库子项目中的落点。读完本文,你将能够准确区分六大核心术语,读懂多集群相关 KEP、文档与代码讨论,不再被"同名不同义"的 API 名称误导。

一、为什么需要一份多集群术语表

Kubernetes 官方把"集群边界"视为资源模型的宇宙边缘,多集群场景缺乏统一的标准模式,这导致社区内各项目对同一概念常常使用不同叫法(见 Namespace Sameness 立场声明 的 Context 部分)。术语表文件的存在正是为了缓解这一混乱:

  • 记录当前通用术语(terms in common use);
  • 记录这些术语的别名(aliases),即过去或现在可能被使用的其他叫法;
  • 通过"Also known as / Previously known as"字段显式标注演进关系,避免读者在新旧文档间迷失。

这份术语表不是孤立的,它与 SIG Multicluster 的六个子项目一一对应:about-apicluster-inventory-apimcs-apimulticluster-runtimesig-multicluster-sitework-api(见 sig-multicluster/README.md 的 Subprojects 小节)。下面逐一展开。

二、About API:集群"自我介绍"的标准接口

术语定义:About API 是 SIG Multicluster 用于描述集群自身信息的 API。术语表明确标注了它的两个关键别名:

关系名称
当前名称About API
Also known as(别名)ClusterProperty
Previously known as(前身)ClusterClaim API

这一组"曾用名 → 别名 → 现名"的演进非常典型:早期该能力以ClusterClaim命名,社区讨论后更名为ClusterProperty,最终在 about-api 子项目中以 About API 的形式落地。

从仓库证据看其演进轨迹:

  • 2022 年度报告 提到"Developed the About API for ClusterSets",即 About API 最初服务于 ClusterSet 的集群身份标识;
  • 2023 年度报告 记录 "About API KEP in beta",即相关 KEP 进入 Beta 阶段;
  • 2025 年度报告 记录 "About API v1beta1 CRD released",并提及社区正在讨论"well-known cluster properties"(建议的通用集群属性集合)与属性阶梯(property ladder)。

技术落点:About API 对应子项目about-api,其 OWNERS 文件位于仓库根目录 sigs.yaml 所引用的外部仓库。在阅读多集群相关 KEP 时,遇到ClusterProperty应理解为 About API 体系内的资源对象,遇到ClusterClaim则需意识到这是历史命名。

三、ClusterProfile API:集群清单与连接信息

术语定义:ClusterProfile API 是集群清单(Cluster Inventory)体系中的核心资源,用于描述集群的概要信息与连接凭据。术语表中它与 ClusterSet、About API 并列,是 SIG Multicluster 中较新的 API。

从仓库证据看其演进:

  • 2024 年度报告 记录 "KEP 4322 renamed to 'ClusterProfile API'"(原 Cluster Inventory API 更名为 ClusterProfile API),并澄清了 ClusterProfile、ClusterSet 与 cluster inventory 三者的关系;
  • 2025 年度报告 记录了多项 ClusterProfile 进展:ClusterProfile 凭据通过插件(plugin)管理(KEP 5339)、ClusterProfile CR 改为 namespace 作用域、新增集群专属认证信息字段、基于 extensions 的按集群插件配置等。

技术落点:ClusterProfile API 对应子项目cluster-inventory-api(该子项目于 2023 年度报告 中作为新子项目加入,当时 ClusterInventory API 正处于"active discussion and provisional"状态)。该 API 与 PlacementDecision API(多集群调度决策,见 2025 年度报告)共同构成集群清单体系。

四、ClusterSet:集群的逻辑分组单位

术语定义:ClusterSet 是"一组在逻辑上被当作一个整体对待的集群"的概念,是多集群服务、命名空间一致性等能力的组织单位。

从仓库证据看其定位:

  • 2022 年度报告 记录 KEP 2149 "ClusterID for ClusterSet Identification" 于 v1.24 进入 alpha,为 ClusterSet 中的集群提供稳定 ClusterID;
  • 2023 年度报告 记录该 KEP 于 v1.28 进入 Beta;
  • 同样在 2022 年度报告 中,About API 最初正是"for ClusterSets",即用集群自身属性来标识其所属的 ClusterSet。

技术落点:ClusterSet 是跨多个 API(About API、MCS API、ClusterProfile API)的顶层抽象:MCS 的服务合并以 ClusterSet 为范围,About API 提供集群属性、ClusterID 用于识别 ClusterSet 成员(对应 KEP 2149)。阅读多集群文档时,遇到"ClusterSet"应理解为受同一权威治理、预期协同工作的一组集群

五、Multicluster Services API(MCS / MCS API):跨集群服务发现与访问

术语定义:Multicluster Services API(简称 MCS 或 MCS API)是 SIG Multicluster 为跨集群服务发现与流量访问制定的标准 API 规范。术语表给出:

关系名称
当前名称Multicluster Services API
Also known as(别名)MCS、MCS API

从仓库证据看其成熟度:

  • 2022 年度报告 记录 KEP 1645(MCS API)"progress to beta",且"now with conformance tests";
  • 2024 年度报告 记录 KEP 1645 毕业到 beta 的关键剩余工作是 ServiceImport 的 spec/status 字段合并到 root,且已实现配套的 conformance 套件(位于 mcs-api 仓库 conformance 目录),CI 与 presubmit 作业也已接入 test-infra;
  • 2025 年度报告 记录 MCS 版本演进到 0.2.0 和 0.3.0,新增 IP 家族(dual-stack)策略、端口冲突规则、流量分布与内部流量策略字段、ServiceExport/ServiceImport 条件(conditions)等,并围绕 MCS 与 Gateway API 的对齐开展了大量工作。

技术落点:MCS API 对应子项目mcs-api。结合 Namespace Sameness 立场声明 的 Example 3 可以看出其设计取向:MCS 的跨集群服务合并默认不开启,实现思路包括 opt-in(服务必须被显式 export 才能跨集群合并)、opt-out(服务或命名空间可退出合并)、差异化发现(合并服务与"原始"服务使用不同名称或发现机制)。该 API 通常围绕ServiceExport/ServiceImport两个核心资源展开(这也是 MCS 讨论与 KEP 中出现频率最高的两个对象)。

六、Namespace Sameness:命名空间一致性的规范性立场

术语定义:Namespace Sameness 不是某个 API,而是 SIG Multicluster 对"多集群中命名空间语义"的规范性声明,是该 SIG 最早发布的立场文件之一(namespace-sameness-position-statement.md,发布于 2020/04,状态 RELEASED)。

其核心立场原文为:

For a set of related clusters governed by a single authority, all namespaces of a given name are considered to be the same namespace. A single namespace should have a consistent owner across the set of clusters.(对于由单一权威治理的一组相关集群,所有同名命名空间被视为同一个命名空间;单个命名空间在整个集群集合中应有一致的所有者。)

这一立场文件用三个假设性例子阐明了含义:

  1. 命名空间创建(Example 1):若 foo 团队在集群 A 中申请了名为 "database" 的命名空间,则其他团队不得再在集群 B 中申请同名 "database"——该名字在全部集群范围内被占用。命名空间名的分配与授权(如自服务门户、准入控制器强制团队前缀等)属于创新空间;
  2. RBAC 同步(Example 2):LDAP 到 RBAC 的同步流程可以假定每个集群中 "metrics" 命名空间应获得相同的 RBAC 规则,并可针对特定集群(如欧盟集群更严格)做特化;
  3. 多集群服务(Example 3):即使两个集群中同名命名空间满足 Sameness,跨集群服务合并仍不应默认开启,以免集群 A 的客户端意外访问到集群 B 的同类服务。

技术落点:Namespace Sameness 是 MCS、About API、ClusterProfile 等所有"跨集群行为规范化"工作的语义基石,在 Charter 定义的 SIG 范围内为后续 API 设计提供理论支撑。

七、Work API:跨集群工作负载调度的探索

术语定义:Work API 是 SIG Multicluster 对"跨集群工作负载管理"的探索性 API,用于将工作负载(Workload)分发并执行到多个集群。

从仓库证据看其定位:

  • 2022 年度报告 明确将 work API 与"cross-cluster workload management""multicluster controllers"并列,作为 SIG 正在探索的方向之一;
  • 2023 年度报告 将 work-api 列为"Continuing"子项目;
  • 2025 年度报告 同样将 work-api 列为继续存在的子项目。

技术落点:Work API 对应子项目work-api。需要注意,从 2022 年度报告 的措辞看,该 API 尚处于探索阶段,SIG 明确表示"需要更多人分享具体用例、过往实现尝试与关切,才能提出普遍有用的解决方案"——因此在使用与引用时不应将其描述为已 GA 的稳定标准。

八、术语速查表与进阶阅读

速查表

术语别名/曾用名对应子项目一句话定位
About APIClusterProperty(别名)、ClusterClaim API(曾用名)about-api描述集群自身属性的标准 API
ClusterProfile API原 Cluster Inventory API(KEP 4322 更名)cluster-inventory-api集群清单与连接凭据
ClusterSet跨 API 的顶层抽象逻辑上协同工作的一组集群
Multicluster Services APIMCS、MCS APImcs-api跨集群服务发现与访问规范(KEP 1645)
Namespace Sameness立场文件同名命名空间跨集群语义一致性声明
Work APIwork-api跨集群工作负载调度的探索性 API

进阶阅读路径

  • 了解 SIG 整体范围与治理:SIG Multicluster README、Charter;
  • 深入理解多集群命名空间语义:Namespace Sameness 立场声明;
  • 追踪各 API 演进:2022、2023、2024、2025 年度报告;
  • 检索全部 SIG 定义与子项目 OWNERS 信息:sigs.yaml。

使用建议:在阅读多集群相关 KEP、博客或代码时,若遇到ClusterProperty,请与 About API 关联;遇到ClusterClaim,请意识到那是历史命名;遇到MCS,请与 Multicluster Services API 关联。这份术语表正是社区为了消除这类歧义而维护的权威索引。

【免费下载链接】communityKubernetes Community Documentation项目地址: https://gitcode.com/GitHub_Trending/com/community

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询