docs: clarify Kubernetes support window (#13216)

Document the rolling three-minor Kubernetes support window and derive the README minimum version from kube_version_min_required.

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
This commit is contained in:
Kay Yan
2026-08-10 17:46:04 +08:00
committed by GitHub
parent ace96af930
commit fe0328f38a
3 changed files with 15 additions and 7 deletions

View File

@@ -145,11 +145,12 @@ Note:
## Container Runtime Notes ## Container Runtime Notes
- The cri-o version should be aligned with the respective kubernetes version (i.e. kube_version=1.20.x, crio_version=1.20) - The CRI-O minor version should match the Kubernetes minor version.
## Requirements ## Requirements
- **Minimum required version of Kubernetes is v1.30** - **Minimum required version of Kubernetes is v1.34.0**
- **Ansible v2.14+, Jinja 2.11+ and python-netaddr is installed on the machine that will run Ansible commands** - **Ansible v2.14+, Jinja 2.11+ and python-netaddr is installed on the machine that will run Ansible commands**
- The target servers must have **access to the Internet** in order to pull docker images. Otherwise, additional configuration is required (See [Offline Environment](docs/operations/offline-environment.md)) - The target servers must have **access to the Internet** in order to pull docker images. Otherwise, additional configuration is required (See [Offline Environment](docs/operations/offline-environment.md))
- The target servers are configured to allow **IPv4 forwarding**. - The target servers are configured to allow **IPv4 forwarding**.

View File

@@ -4,7 +4,7 @@ The Kubespray Project is released on an as-needed basis. The process is as follo
1. An issue is proposing a new release with a changelog since the last release. Please see [a good sample issue](https://github.com/kubernetes-sigs/kubespray/issues/8325) 1. An issue is proposing a new release with a changelog since the last release. Please see [a good sample issue](https://github.com/kubernetes-sigs/kubespray/issues/8325)
1. At least one of the [approvers](OWNERS_ALIASES) must approve this release 1. At least one of the [approvers](OWNERS_ALIASES) must approve this release
1. (Only for major releases) The `kube_version_min_required` variable is set to `n-1` 1. (Only for major releases) Keep Kubernetes binary checksums and per-minor component mappings for the default Kubernetes minor and the two previous minors (a support floor of `n-2`). The oldest `kubelet_checksums` entry determines `kube_version_min_required`.
1. (Only for major releases) Remove hashes for [EOL versions](https://github.com/kubernetes/website/blob/main/content/en/releases/patch-releases.md) of kubernetes from `*_checksums` variables. 1. (Only for major releases) Remove hashes for [EOL versions](https://github.com/kubernetes/website/blob/main/content/en/releases/patch-releases.md) of kubernetes from `*_checksums` variables.
1. Create the release note with [Kubernetes Release Notes Generator](https://github.com/kubernetes/release/blob/master/cmd/release-notes/README.md). See the following `Release note creation` section for the details. 1. Create the release note with [Kubernetes Release Notes Generator](https://github.com/kubernetes/release/blob/master/cmd/release-notes/README.md). See the following `Release note creation` section for the details.
1. An approver creates [new release in GitHub](https://github.com/kubernetes-sigs/kubespray/releases/new) using a version and tag name like `vX.Y.Z` and attaching the release notes 1. An approver creates [new release in GitHub](https://github.com/kubernetes-sigs/kubespray/releases/new) using a version and tag name like `vX.Y.Z` and attaching the release notes
@@ -30,10 +30,11 @@ The Kubespray Project is released on an as-needed basis. The process is as follo
which ends once the milestone is closed. Then only a next major or minor release which ends once the milestone is closed. Then only a next major or minor release
can be done. can be done.
* Kubespray major and minor releases are bound to the given `kube_version` major/minor * Kubespray major and minor releases support the default `kube_version` major/minor and
version numbers and other components' arbitrary versions, like etcd or network plugins. the two previous Kubernetes minor versions when their Kubernetes binary checksums and
Older or newer component versions are not supported and not tested for the given required per-minor component mappings are present. Other component versions are supported
release (even if included in the checksum variables, like `kubeadm_checksums`). only when selected by the corresponding version mappings; a checksum entry alone does not
imply support.
* There is no unstable releases and no APIs, thus Kubespray doesn't follow * There is no unstable releases and no APIs, thus Kubespray doesn't follow
[semver](https://semver.org/). Every version describes only a stable release. [semver](https://semver.org/). Every version describes only a stable release.

View File

@@ -20,6 +20,12 @@
marker: '<!-- {mark} ANSIBLE MANAGED BLOCK -->' marker: '<!-- {mark} ANSIBLE MANAGED BLOCK -->'
block: "\n{{ lookup('ansible.builtin.template', 'readme_versions.md.j2') }}\n\n" block: "\n{{ lookup('ansible.builtin.template', 'readme_versions.md.j2') }}\n\n"
path: ../README.md path: ../README.md
- name: Render minimum Kubernetes version in README.md
lineinfile:
path: ../README.md
regexp: '^- \*\*Minimum required version of Kubernetes is v.*\*\*$'
line: "- **Minimum required version of Kubernetes is v{{ kube_version_min_required }}**"
insertafter: '^## Requirements$'
- name: Render Dockerfiles - name: Render Dockerfiles
template: template:
src: "{{ item }}.j2" src: "{{ item }}.j2"