- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.4k
 
Description
This issue is tracking the tasks that should be implemented after the Kubernetes minor release has been released.
Tasks
Note: If feasible we usually cherry-pick the changes back to the latest release series.
Supporting managing and running on the new Kubernetes version
This section contains tasks to update our book, e2e testing and CI to use and test the new Kubernetes version
as well as changes to Cluster API that we might have to make to support the new Kubernetes version. All of these
changes should be cherry-picked to all release series that will support the new Kubernetes version.
- 
Continuously modify CAPD to use early versions of the upcoming Kubernetes release (betas and rcs):
- Bump the Kubernetes version in 
test/*except fortest/infrastructure/kind/*. - Prior art: ✨ Bump Kubernetes version used for testing to v1.31.0-beta.0 #10922
 - PR: 🌱 Bump Kubernetes version used for testing to v1.33.0-beta.0 #11958
 - PR: 🌱 Bump Kubernetes version used for testing to v1.33.0-rc.0 #12073
 - PR: 🌱 Bump E2E to Kubernetes v1.33.0-rc.1 #12099
 
 - Bump the Kubernetes version in 
 - 
Modify CAPD to use the new Kubernetes release after it is GA:
- Bump the Kubernetes version in 
test/*except fortest/infrastructure/kind/*. - Prior art: ✨ Bump Kubernetes in tests to v1.31.0 and claim support for v1.31 #11030
 - PR: ✨ Bump Kubernetes in tests to v1.33.0 and claim support for v1.33 #12104
 
 - Bump the Kubernetes version in 
 - 
Ensure the jobs are adjusted to provide test coverage according to our support policy:
- 
At the
.versionssection in thecluster-api-prowjob-gen.yamlfile in test-infra:- Add a new entry for the new Kubernetes version
 - Adjust the released Kubernetes's version entry to refer 
stable-1.<minor>instead ofci/latest-1.<minor> - Check and update the versions for the keys 
etcdandcoreDNSif necessary:- For etcd, see the 
DefaultEtcdVersionkubeadm constant: e.g. for v1.28.0 - For coredns, see the 
CoreDNSVersionkubeadm constant:e.g. for v1.28.0 
 - For etcd, see the 
 
 - 
For the
.branches.mainsection in thecluster-api-prowjob-gen.yamlfile in test-infra:- For the 
.upgradessection:- Drop the oldest upgrade
 - Add a new upgrade entry from the previous to the new Kubernetes version
 
 - Bump the version set at 
.kubernetesVersionManagementto the new minimum supported management cluster version (This is the image version available as kind image). - Bump the version set at 
.kubebuilderEnvtestKubernetesVersionto the new minimum supported management cluster version. 
 - For the 
 - 
Run
make generate-test-infra-prowjobsto generate the resulting prowjob configuration:TEST_INFRA_DIR=../../k8s.io/test-infra make generate-test-infra-prowjobs
 - 
Prior art: CAPI: adjust jobs due to v1.31 GA kubernetes/test-infra#33294
 
 - 
 - 
Update book:
- Update supported versions in 
versions.md - Prior art: ✨ Bump Kubernetes in tests to v1.31.0 and claim support for v1.31 #11030
 - PR: ✨ Bump Kubernetes in tests to v1.33.0 and claim support for v1.33 #12104
 - Follow up, drop v1.8 column, add v1.11 column from the version page, change version on the introduction page 📖 Update v1.11 support matrix #12131
 
 - Update supported versions in 
 - 
Issues specific to the Kubernetes minor release:
- Sometimes there are adjustments that we have to make in Cluster API to be able to support
a new Kubernetes minor version. Please add these issues here when they are identified. - Consider
 
 - Sometimes there are adjustments that we have to make in Cluster API to be able to support
 
Bump quickstart and kind image references in CAPD
Prerequisites:
- 
The target Kubernetes version is GA
 - 
There is a new kind version with/or a new set of kind images for the target Kubernetes version
 - 
Bump quickstart and kind image references in CAPD:
- Bump the Kubernetes version in:
docs/*Tiltfile
 - Bump kind image references in CAPD (and also kind if necessary, including the latest images for this kind release)
- Add new images in the kind mapper.go.
- See the kind releases page for the list of released images.
 
 - Set new default image for the test framework
 - If code changes are required for CAPD to incorporate the new Kind version, update kind latestMode
 
 - Add new images in the kind mapper.go.
 - Verify the quickstart manually
 - Prior art: 🌱 Bump kind to v0.23.0 #10610
 - PR: ✨ Complete bump to Kubernetes v1.33 #12206
 
 - Bump the Kubernetes version in:
 - 
Cherry-pick above PR to the latest release branch.
 
Using new Kubernetes dependencies
This section contains tasks to update Cluster API to use the latest Kubernetes Go dependencies and related topics
like using the right Go version and build images. These changes are only made on the main branch. We don't
need them in older releases as they are not necessary to manage workload clusters of the new Kubernetes version or
run the Cluster API controllers on the new Kubernetes version.
- Ensure there is a new controller-runtime minor release which uses the new Kubernetes Go dependencies.
 -  Update our ProwJobs for the 
mainbranch to use thekubekins-e2ewith the correct Kubernetes version via cluster-api-prowjob-gen.yaml and by runningmake generate-test-infra-prowjobs.- It is recommended to have one PR for presubmit and one for periodic jobs to reduce the risk of breaking the periodic jobs.
 - Prior art: cluster-api: Bump kubekins image for main to 1.30 to use go 1.22 kubernetes/test-infra#32380
 - PR: Bump kubekins image for main to 1.33 kubernetes/test-infra#34736
 
 -  Bump the Go version in Cluster API: (if Kubernetes is using a new Go minor version)
- Search for the currently used Go version across the repository and update it
 - We have to at least modify it in: 
hack/ensure-go.sh,.golangci.yml,cloudbuild*.yaml,go.mod,Makefile,netlify.toml,Tiltfile - Prior art: 🌱 Bump Go to v1.22.2 #10452
 - PR: 🌱 Bump Go 1.24 #12128
 
 -  Bumps in Cluster API repo:
- Prior art: ✨ Bump to controller-runtime v0.19 & controller-tools v0.16 #10803
 - PR: ✨ Bump controller-tools v0.17.3, conversion-gen v0.33.0 #12129
- conversion-gen via 
CONVERSION_GEN_VERinMakefile 
 - conversion-gen via 
 - PR: ⚠️ Bump to controller-runtime v0.21 / controller-tools v0.18 / k8s.io/* v0.33 / move to randfill #12191
- controller-runtime & controller-tools in go.mod files
 - controller-gen via 
CONTROLLER_GEN_VERinMakefile - setup-envtest via 
SETUP_ENVTEST_VERinMakefile 
 
 -  Bump the Kubernetes version used in integration tests via 
KUBEBUILDER_ENVTEST_KUBERNETES_VERSIONinMakefile- Note: This PR should be cherry-picked as well. It is part of this section as it depends on kubebuilder/controller-runtime releases and is not strictly necessary for Supporting managing and running on the new Kubernetes version.
 - Prior art to release envtest binaries: ✨ Release envtest v1.31.0 controller-tools#1032
 - Prior art: 🌱 Update kubebuilder envtest (1.24.2 -> 1.25.0) #7193
 - PR: ✨ Update KUBEBUILDER_ENVTEST_KUBERNETES_VERSION #12130