What happened?
Building images for Kubernetes 1.36+ fails during the kubeadm config images pull step because the kubeadm config template uses kubeadm.k8s.io/v1beta3, which is removed starting with kubeadm 1.36.
Error:
error: your configuration file uses an old API spec: "kubeadm.k8s.io/v1beta3" (kind: "ClusterConfiguration").
Please use kubeadm v1.36 instead and run kubeadm config migrate
What did you expect to happen?
Image builds for Kubernetes 1.36+ should succeed.
How to reproduce
Build any CAPI image with kubernetes_semver >= v1.36.0.
Proposed fix
Bump the kubeadm config template from v1beta3 to v1beta4 in images/capi/ansible/roles/kubernetes/templates/etc/kubeadm.yml.
v1beta4 has been available since kubeadm 1.29, so all currently supported Kubernetes versions (1.29–1.37) accept it. The change is a simple API version bump — no schema changes are needed between v1beta3 and v1beta4 for the fields used in this template.
Workaround
We are currently working around this by copying a v1beta4 template into the role templates directory before the Ansible run and overriding kubeadm_template for versions >= 1.36.
Related: #2151
/kind bug
/area capi
What happened?
Building images for Kubernetes 1.36+ fails during the
kubeadm config images pullstep because the kubeadm config template useskubeadm.k8s.io/v1beta3, which is removed starting with kubeadm 1.36.Error:
What did you expect to happen?
Image builds for Kubernetes 1.36+ should succeed.
How to reproduce
Build any CAPI image with
kubernetes_semver>= v1.36.0.Proposed fix
Bump the kubeadm config template from
v1beta3tov1beta4inimages/capi/ansible/roles/kubernetes/templates/etc/kubeadm.yml.v1beta4has been available since kubeadm 1.29, so all currently supported Kubernetes versions (1.29–1.37) accept it. The change is a simple API version bump — no schema changes are needed between v1beta3 and v1beta4 for the fields used in this template.Workaround
We are currently working around this by copying a v1beta4 template into the role templates directory before the Ansible run and overriding
kubeadm_templatefor versions >= 1.36.Related: #2151
/kind bug
/area capi