Updating Cluster network configuration for single stack to dual-stack upgrades
#6,951 opened on Jul 18, 2022
Repository metrics
- Stars
- (4,267 stars)
- PR merge metrics
- (PR metrics pending)
Description
User Story
As an operator I would like to update the cluster network configuration for an existing Cluster resource for upgrading a single stack Cluster to a dual-stack Cluster.
Detailed Description
I'd like to be able to add the cidr range for an additional IP family to spec.clusterNetwork.pods.cidrBlocks and spec.clusterNetwork.services.cidrBlocks e.g If I have a single stack IPv4 cluster with IPv4 cidr ranges I'd like to be able to add IPv6 cidr ranges to the cidrBlocks to upgrade my cluster to a dual-stack cluster.
Updating the cidrBlocks on a Cluster needs to be able to reconcile the KubeadmControlPlane with the additional CIDRs. Right now it seems like the KubeadmControlPlane disallows changes to the clusterConfiguation.networking.{serviceSubnet,podSubnet} and updating the cidrBlocks on a Cluster also does not affect the KubeadmControlPlane.
Anything else you would like to add:
- There may be some complexity to orchestrating this because PodCIDRs are cached on a node so you have to drain, delete, re-init the node to change PodCIDRs (from https://github.com/kubernetes/kubernetes/issues/87150#issuecomment-601302199)
/kind feature