Warning FailedToCreateRoute 52s (x9070 over 15d) route_controller (combined from similar events): Could not create route 12345678-xxxx-xxxx-xxxx-6ab6a147598d 100.96.4.0/24 for node dev-control-plane-v1-21-2-vmware-1-6kh7s-xkv78 after 30.137845507s: Retriable: false, RetryAfter: 0s, HTTPStatusCode: 400, RawError: Retriable: false, RetryAfter: 0s, HTTPStatusCode: 400, RawError: {"error": {"code": "RouteConflict", "message": "Route: dev-control-plane-v1-21-2-vmware-1-6kh7s-xkv78__100964024 conflicts with Route: dev-control-plane-jl7c8. Routes cannot have the same AddressPrefix.", "details": []}
The in-tree Azure cloud provider creates routes and route tables that persist through Kubernetes upgrades and are unable to be deleted or updated when the pod CIDR of the new control plane matches that of the orphaned route.
Disable the route controller by adding the flag configure-cloud-routes: "false" to the controller manager extra args in the KubeadmControlPlane similar to the example below
spec: kubeadmConfigSpec: clusterConfiguration: controllerManager: extraArgs: configure-cloud-routes: "false"