Skip to content

KEP-2149, KEP-4322: Allow a cluster to belong to multiple ClusterSets #6238

Description

@kahirokunn

Enhancement Description

Context

KEP-2149 lists a cluster joining multiple ClusterSets as an explicit non-goal, and KEP-4322 states that a cluster can only be in one ClusterSet. Real cluster managers don't work that way: OCM's ManagedClusterSet can place one cluster in multiple sets, and the duplicate-cluster problems in cluster-inventory-api#75 partly come from squeezing multi-set membership through a single-membership API.

A cluster can't carry two ClusterProperty resources with the same name (property name = resource name), so multiple memberships have to be encoded in a single clusterset.k8s.io value.

Proposed Change

  • KEP-2149: the clusterset.k8s.io property value becomes a comma-separated list of every ClusterSet the cluster belongs to; move multi-membership from Non-Goals to Goals.
  • KEP-4322: ClusterSet membership is expressed by the clusterset.k8s.io property; drop the requirement to label the inventory namespace with clusterset.multicluster.x-k8s.io; cluster managers SHOULD mirror each membership as a clusterset.multicluster.x-k8s.io/<name>: "true" label so ClusterProfiles stay selectable with standard label selectors (precedent: node-role.kubernetes.io/<role>).

Metadata

Metadata

Assignees

Labels

sig/multiclusterCategorizes an issue or PR as relevant to SIG Multicluster.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions