Skip to content

operator: Add multicluster PVC unbinder controller#1454

Merged
RafalKorepta merged 1 commit intomainfrom
rk/k8s-834/add-pvc-unbinder
Apr 16, 2026
Merged

operator: Add multicluster PVC unbinder controller#1454
RafalKorepta merged 1 commit intomainfrom
rk/k8s-834/add-pvc-unbinder

Conversation

@RafalKorepta
Copy link
Copy Markdown
Contributor

@RafalKorepta RafalKorepta commented Apr 16, 2026

The single-cluster PVC unbinder remediates Pods stuck in Pending due to volume node affinity conflicts by deleting the bound PVCs and recycling PVs. In multicluster mode (StretchCluster with NodePools across clusters), the same remediation is needed but the controller must resolve the correct per-cluster client for each Pod.

Add MulticlusterController that registers with the multicluster builder to watch Pods across all provider clusters. On each reconcile it resolves the cluster client from req.ClusterName and delegates to the existing single-cluster Controller, reusing the full unbinding algorithm unchanged.

Wire up --unbind-pvcs-after, --allow-pv-rebinding, and --unbinder-label-selector flags in the multicluster command, matching the existing flags in the single-cluster run command.

K8S-834

The single-cluster PVC unbinder remediates Pods stuck in Pending due
to volume node affinity conflicts by deleting the bound PVCs and
recycling PVs. In multicluster mode (StretchCluster with NodePools
across clusters), the same remediation is needed but the controller
must resolve the correct per-cluster client for each Pod.

Add MulticlusterController that registers with the multicluster
builder to watch Pods across all provider clusters. On each reconcile
it resolves the cluster client from req.ClusterName and delegates to
the existing single-cluster Controller, reusing the full unbinding
algorithm unchanged.

Wire up --unbind-pvcs-after, --allow-pv-rebinding, and
--unbinder-label-selector flags in the multicluster command, matching
the existing flags in the single-cluster run command.
@RafalKorepta RafalKorepta force-pushed the rk/k8s-834/add-pvc-unbinder branch from d37311d to fbff9c4 Compare April 16, 2026 11:08
@RafalKorepta RafalKorepta enabled auto-merge (rebase) April 16, 2026 11:21
@RafalKorepta RafalKorepta merged commit ce2f3b3 into main Apr 16, 2026
12 of 13 checks passed
@RafalKorepta RafalKorepta deleted the rk/k8s-834/add-pvc-unbinder branch April 16, 2026 12:00
@andrewstucki
Copy link
Copy Markdown
Contributor

@RafalKorepta does this need to be plumbed through the helm chart?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants