mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-12-09 19:29:26 +00:00
When upconverting from v1beta3 to v1beta4, it appears there is no easy way to migrate some of the timeout values such as: ClusterConfiguration.APIServer.TimeoutForControlPlane to a new location: InitConfiguration.Timeouts.<some-timeout-field> Yes, the internal InitConfiguratio does embed a ClusterConfiguration, but during conversion the ClusterConfiguration is converted from an empty source. K8s' API machinery has ways to register custom conversion functions, such as v1beta3.ClusterConfiguration -> internal.InitConfiguration, but these must be triggered explicitly with a decoder. The overall migration of fields seems very awkward. There might be hacks around that, such as storing intermediate state, while trying to make the fuzzer rountrip happy, but instead mutation functions can be implemented for the internal types when calling kubeadm's migrate code. This seems much cleaner.
22 KiB
22 KiB