From 4735113d55063daaeadc509222bdf806a09f0520 Mon Sep 17 00:00:00 2001 From: Guillermo Gaston Date: Thu, 3 Aug 2023 16:50:33 +0000 Subject: [PATCH] Update CAPI support and guarantees for v1.6 --- CONTRIBUTING.md | 5 ++- docs/book/src/reference/versions.md | 58 ++++++++++++++--------------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a8c2d06a95a1..3a542eb0c373 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -164,8 +164,9 @@ Cluster API maintains the most recent release/releases for all supported API and | Minor Release | API Version | Supported Until | |---------------|--------------|-----------------------------------------------------| -| v1.4.x | **v1beta1** | when v1.6.0 will be released | -| v1.3.x | **v1beta1** | when v1.5.0 will be released, tentatively July 2023 | +| v1.5.x | **v1beta1** | when v1.7.0 will be released | +| v1.4.x | **v1beta1** | when v1.6.0 will be released, tentatively Nov 2023 | +| v1.3.x | **v1beta1** | EOL since 2023-07-25 - v1.5.0 release date | | v1.2.x | **v1beta1** | EOL since 2023-03-28 - v1.4.0 release date | | v1.1.x | **v1beta1** | EOL since 2022-07-18 - v1.2.0 release date (*) | | v1.0.x | **v1beta1** | EOL since 2022-02-02 - v1.1.0 release date (*) | diff --git a/docs/book/src/reference/versions.md b/docs/book/src/reference/versions.md index fc70155d24a0..6d489141f3ec 100644 --- a/docs/book/src/reference/versions.md +++ b/docs/book/src/reference/versions.md @@ -72,18 +72,18 @@ These diagrams show the relationships between components in a Cluster API releas #### Core Provider (`cluster-api-controller`) -| | v1.2 (v1beta1) (EOL) | v1.3 (v1beta1) | v1.4 (v1beta1) | v1.5 (v1beta1) | +| | v1.3 (v1beta1) (EOL) | v1.4 (v1beta1) | v1.5 (v1beta1) | v1.6 (v1beta1) | |-------------------|----------------------|-------------------|-------------------|-------------------| -| Kubernetes v1.18 | ✓ (only workload) | ✓ (only workload) | | | -| Kubernetes v1.19 | ✓ (only workload) | ✓ (only workload) | | | -| Kubernetes v1.20 | ✓ | ✓ | | | -| Kubernetes v1.21 | ✓ | ✓ | ✓ (only workload) | | -| Kubernetes v1.22 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) | -| Kubernetes v1.23* | ✓ | ✓ | ✓ | ✓ (only workload) | +| Kubernetes v1.18 | ✓ (only workload) | | | | +| Kubernetes v1.19 | ✓ (only workload) | | | | +| Kubernetes v1.20 | ✓ | | | | +| Kubernetes v1.21 | ✓ | ✓ (only workload) | | | +| Kubernetes v1.22 | ✓ | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | +| Kubernetes v1.23* | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) | | Kubernetes v1.24 | ✓ | ✓ | ✓ | ✓ | | Kubernetes v1.25 | ✓ | ✓ | ✓ | ✓ | | Kubernetes v1.26 | ✓ | ✓ | ✓ | ✓ | -| Kubernetes v1.27 | | | ✓ | ✓ | +| Kubernetes v1.27 | | ✓ | ✓ | ✓ | \* There is an issue with CRDs in Kubernetes v1.23.{0-2}. ClusterClass with patches is affected by that (for more details please see [this issue](https://github.com/kubernetes-sigs/cluster-api/issues/5990)). Therefore we recommend to use Kubernetes v1.23.3+ with ClusterClass. @@ -95,35 +95,35 @@ The Core Provider also talks to API server of every Workload Cluster. Therefore, #### Kubeadm Bootstrap Provider (`kubeadm-bootstrap-controller`) -| | v1.2 (v1beta1) (EOL) | v1.3 (v1beta1) | v1.4 (v1beta1) | v1.5 (v1beta1) | -|------------------------------------|----------------------|-------------------|--------------------|--------------------| -| Kubernetes v1.18 + kubeadm/v1beta2 | ✓ (only workload) | ✓ (only workload) | | | -| Kubernetes v1.19 + kubeadm/v1beta2 | ✓ (only workload) | ✓ (only workload) | | | -| Kubernetes v1.20 + kubeadm/v1beta2 | ✓ | ✓ | | | -| Kubernetes v1.21 + kubeadm/v1beta2 | ✓ | ✓ | ✓ (only workload) | | -| Kubernetes v1.22 + kubeadm/v1beta3 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) | -| Kubernetes v1.23 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ (only workload) | -| Kubernetes v1.24 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ | -| Kubernetes v1.25 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ | -| Kubernetes v1.26 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ | -| Kubernetes v1.27 + kubeadm/v1beta3 | | | ✓ | ✓ | +| | v1.3 (v1beta1) (EOL) | v1.4 (v1beta1) | v1.5 (v1beta1) | v1.6 (v1beta1) | +|------------------------------------|----------------------|--------------------|--------------------|--------------------| +| Kubernetes v1.18 + kubeadm/v1beta2 | ✓ (only workload) | | | | +| Kubernetes v1.19 + kubeadm/v1beta2 | ✓ (only workload) | | | | +| Kubernetes v1.20 + kubeadm/v1beta2 | ✓ | | | | +| Kubernetes v1.21 + kubeadm/v1beta2 | ✓ | ✓ (only workload) | | | +| Kubernetes v1.22 + kubeadm/v1beta3 | ✓ | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | +| Kubernetes v1.23 + kubeadm/v1beta3 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) | +| Kubernetes v1.24 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ | +| Kubernetes v1.25 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ | +| Kubernetes v1.26 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ | +| Kubernetes v1.27 + kubeadm/v1beta3 | | ✓ | ✓ | ✓ | The Kubeadm Bootstrap Provider generates kubeadm configuration using the API version recommended for the target Kubernetes version. #### Kubeadm Control Plane Provider (`kubeadm-control-plane-controller`) -| | v1.2 (v1beta1) (EOL) | v1.3 (v1beta1) | v1.4 (v1beta1) | v1.5 (v1beta1) | +| | v1.3 (v1beta1) (EOL) | v1.4 (v1beta1) | v1.5 (v1beta1) | v1.6 (v1beta1) | |----------------------------|----------------------|-------------------|-------------------|-------------------| -| Kubernetes v1.18 + etcd/v3 | ✓ (only workload) | ✓ (only workload) | | | -| Kubernetes v1.19 + etcd/v3 | ✓ (only workload) | ✓ (only workload) | | | -| Kubernetes v1.20 + etcd/v3 | ✓ | ✓ | | | -| Kubernetes v1.21 + etcd/v3 | ✓ | ✓ | ✓ (only workload) | | -| Kubernetes v1.22 + etcd/v3 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) | -| Kubernetes v1.23 + etcd/v3 | ✓ | ✓ | ✓ | ✓ (only workload) | +| Kubernetes v1.18 + etcd/v3 | ✓ (only workload) | | | | +| Kubernetes v1.19 + etcd/v3 | ✓ (only workload) | | | | +| Kubernetes v1.20 + etcd/v3 | ✓ | | | | +| Kubernetes v1.21 + etcd/v3 | ✓ | ✓ (only workload) | | | +| Kubernetes v1.22 + etcd/v3 | ✓ | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | +| Kubernetes v1.23 + etcd/v3 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) | | Kubernetes v1.24 + etcd/v3 | ✓ | ✓ | ✓ | ✓ | | Kubernetes v1.25 + etcd/v3 | ✓ | ✓ | ✓ | ✓ | | Kubernetes v1.26 + etcd/v3 | ✓ | ✓ | ✓ | ✓ | -| Kubernetes v1.27 + etcd/v3 | | | ✓ | ✓ | +| Kubernetes v1.27 + etcd/v3 | | ✓ | ✓ | ✓ | The Kubeadm Control Plane Provider talks to the API server and etcd members of every Workload Cluster whose control plane it owns. It uses the etcd v3 API. @@ -135,12 +135,12 @@ The Kubeadm Control Plane requires the Kubeadm Bootstrap Provider. | CAPI Version | Max CoreDNS Version for Upgrade | |----------------------|---------------------------------| -| v1.2 (v1beta1) | v1.9.3 | | >= v1.2.7 (v1beta1) | v1.10.0 | | >= v1.2.11 (v1beta1) | v1.10.1 | | v1.3 (v1beta1) | v1.10.0 | | >= v1.3.4 (v1beta1) | v1.10.1 | | v1.4 (v1beta1) | v1.10.1 | +| v1.5 (v1beta1) | v1.10.1 | #### Kubernetes version specific notes