ITADN

KEP-4322: Define cluster inventory by ClusterProfile namespace

#6236Openkahirokunn 创建于 2026-07-14
sig/multicluster
K
kahirokunncommented
Follow-up to https://github.com/kubernetes-sigs/cluster-inventory-api/issues/75. The SIG-MC call on July 07, 2026 [reconfirmed namespace scope](https://github.com/kubernetes-sigs/cluster-inventory-api/issues/75#issuecomment-4917369795), and the next step is documenting the current behavior and rationale. This issue tracks the KEP-4322 side of that. The CRD has been [namespace-scoped since the first implementation](https://github.com/kubernetes-sigs/cluster-inventory-api/blob/04603eea/apis/v1alpha1/clusterprofile_types.go#L126) (April 2024), but the KEP still hedges: - "Cluster Inventory" is just ["a conceptual term referring to a collection of clusters"](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#terminology) - one ClusterProfile per member cluster is only [recommended](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#uniqueness-of-the-clusterprofile-object) - [cluster name uniqueness](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#cluster-name) is global, with no defined boundary - [namespace scoping itself is a recommendation](https://github.com/kubernetes/enhancements/blob/48e6d949/keps/sig-multicluster/4322-cluster-inventory/README.md#how-should-we-organize-clusterprofile-objects-on-a-hub-cluster), not a statement of fact Nobody has relied on this looseness in the years since, but consumers pay for it anyway: they can't assume what a namespace of ClusterProfiles means or whether duplicates can appear, so every manager/consumer pair ends up working it out case by case. Proposal: make the namespace the boundary. - A **cluster inventory** is the set of ClusterProfile objects in one namespace. A hub cluster can host multiple inventories. - Within an inventory, a member cluster is represented by at most one ClusterProfile (MUST), whichever cluster manager created it. The same cluster may appear in other inventories. - Cluster name uniqueness is per inventory, not global. Cross-inventory identity and deduplication stay out of scope — a consumer reading multiple namespaces is consuming multiple inventories.
1 条评论