@@ -24,10 +24,10 @@ When a new Kubernetes minor release is available, we will try to support it in a
2424the corresponding required changes in Cluster API are too invasive we won't backport the support and users have to wait
2525for the next Cluster API minor release.
2626
27- For example, Cluster API v1.4 .0 would support the following Kubernetes versions:
28- * v1.23 .x to v1.26 .x for the management cluster
29- * v1.21 .x to v1.26 .x for the workload cluster
30- * When Kubernetes 1.27 is released, it will be supported in v1.4 .x (but not in v1.3 .x)
27+ For example, Cluster API v1.5 .0 would support the following Kubernetes versions:
28+ * v1.24 .x to v1.27 .x for the management cluster
29+ * v1.22 .x to v1.27 .x for the workload cluster
30+ * When Kubernetes 1.28 is released, it will be supported in v1.5 .x (but not in v1.4 .x)
3131
3232Support in this context means that we:
3333* maintain corresponding code paths
@@ -72,17 +72,18 @@ These diagrams show the relationships between components in a Cluster API releas
7272
7373#### Core Provider (` cluster-api-controller ` )
7474
75- | | v1.1 (v1beta1) (EOL) | v1.2 (v1beta1) | v1.3 (v1beta1) | v1.4 (v1beta1) |
76- | -------------------| ----------------------| -------------------| -------------------| -------------------|
77- | Kubernetes v1.18 | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | |
78- | Kubernetes v1.19 | ✓ | ✓ (only workload) | ✓ (only workload) | |
79- | Kubernetes v1.20 | ✓ | ✓ | ✓ | |
80- | Kubernetes v1.21 | ✓ | ✓ | ✓ | ✓ (only workload) |
81- | Kubernetes v1.22 | ✓ | ✓ | ✓ | ✓ (only workload) |
82- | Kubernetes v1.23* | ✓ | ✓ | ✓ | ✓ |
83- | Kubernetes v1.24 | ✓ | ✓ | ✓ | ✓ |
84- | Kubernetes v1.25 | | ✓ | ✓ | ✓ |
85- | Kubernetes v1.26 | | ✓ | ✓ | ✓ |
75+ | | v1.1 (v1beta1) (EOL) | v1.2 (v1beta1) | v1.3 (v1beta1) | v1.4 (v1beta1) |
76+ | -------------------| ----------------------| -------------------| -------------------| -------------------------|
77+ | Kubernetes v1.18 | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | |
78+ | Kubernetes v1.19 | ✓ | ✓ (only workload) | ✓ (only workload) | |
79+ | Kubernetes v1.20 | ✓ | ✓ | ✓ | |
80+ | Kubernetes v1.21 | ✓ | ✓ | ✓ | ✓ (only workload) |
81+ | Kubernetes v1.22 | ✓ | ✓ | ✓ | ✓ (only workload) |
82+ | Kubernetes v1.23* | ✓ | ✓ | ✓ | ✓ |
83+ | Kubernetes v1.24 | ✓ | ✓ | ✓ | ✓ |
84+ | Kubernetes v1.25 | | ✓ | ✓ | ✓ |
85+ | Kubernetes v1.26 | | ✓ | ✓ | ✓ |
86+ | Kubernetes v1.27 | | | | ✓ (from v1.4.2 release) |
8687
8788
8889\* 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.
@@ -94,33 +95,36 @@ The Core Provider also talks to API server of every Workload Cluster. Therefore,
9495
9596#### Kubeadm Bootstrap Provider (` kubeadm-bootstrap-controller ` )
9697
97- | | v1.1 (v1beta1) (EOL) | v1.2 (v1beta1) | v1.3 (v1beta1) | v1.4 (v1beta1) |
98- | ------------------------------------| ----------------------| -------------------| -------------------| --------------------|
99- | Kubernetes v1.18 + kubeadm/v1beta2 | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | |
100- | Kubernetes v1.19 + kubeadm/v1beta2 | ✓ | ✓ (only workload) | ✓ (only workload) | |
101- | Kubernetes v1.20 + kubeadm/v1beta2 | ✓ | ✓ | ✓ | |
102- | Kubernetes v1.21 + kubeadm/v1beta2 | ✓ | ✓ | ✓ | ✓ (only workload) |
103- | Kubernetes v1.22 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ (only workload) |
104- | Kubernetes v1.23 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ |
105- | Kubernetes v1.24 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ |
106- | Kubernetes v1.25 + kubeadm/v1beta3 | | ✓ | ✓ | ✓ |
107- | Kubernetes v1.26 + kubeadm/v1beta3 | | ✓ | ✓ | ✓ |
98+ | | v1.1 (v1beta1) (EOL) | v1.2 (v1beta1) | v1.3 (v1beta1) | v1.4 (v1beta1) |
99+ | ------------------------------------| ----------------------| -------------------| -------------------| -------------------------|
100+ | Kubernetes v1.18 + kubeadm/v1beta2 | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | |
101+ | Kubernetes v1.19 + kubeadm/v1beta2 | ✓ | ✓ (only workload) | ✓ (only workload) | |
102+ | Kubernetes v1.20 + kubeadm/v1beta2 | ✓ | ✓ | ✓ | |
103+ | Kubernetes v1.21 + kubeadm/v1beta2 | ✓ | ✓ | ✓ | ✓ (only workload) |
104+ | Kubernetes v1.22 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ (only workload) |
105+ | Kubernetes v1.23 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ |
106+ | Kubernetes v1.24 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ |
107+ | Kubernetes v1.25 + kubeadm/v1beta3 | | ✓ | ✓ | ✓ |
108+ | Kubernetes v1.26 + kubeadm/v1beta3 | | ✓ | ✓ | ✓ |
109+ | Kubernetes v1.27 + kubeadm/v1beta3 | | | | ✓ (from v1.4.2 release) |
110+
108111
109112The Kubeadm Bootstrap Provider generates kubeadm configuration using the API version recommended for the target Kubernetes version.
110113
111114#### Kubeadm Control Plane Provider (` kubeadm-control-plane-controller ` )
112115
113- | | v1.1 (v1beta1) (EOL) | v1.2 (v1beta1) | v1.3 (v1beta1) | v1.4 (v1beta1) |
114- | ----------------------------| ----------------------| -------------------| -------------------| -------------------|
115- | Kubernetes v1.18 + etcd/v3 | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | |
116- | Kubernetes v1.19 + etcd/v3 | ✓ | ✓ (only workload) | ✓ (only workload) | |
117- | Kubernetes v1.20 + etcd/v3 | ✓ | ✓ | ✓ | |
118- | Kubernetes v1.21 + etcd/v3 | ✓ | ✓ | ✓ | ✓ (only workload) |
119- | Kubernetes v1.22 + etcd/v3 | ✓ | ✓ | ✓ | ✓ (only workload) |
120- | Kubernetes v1.23 + etcd/v3 | ✓ | ✓ | ✓ | ✓ |
121- | Kubernetes v1.24 + etcd/v3 | ✓ | ✓ | ✓ | ✓ |
122- | Kubernetes v1.25 + etcd/v3 | | ✓ | ✓ | ✓ |
123- | Kubernetes v1.26 + etcd/v3 | | ✓ | ✓ | ✓ |
116+ | | v1.1 (v1beta1) (EOL) | v1.2 (v1beta1) | v1.3 (v1beta1) | v1.4 (v1beta1) |
117+ | ----------------------------| ----------------------| -------------------| -------------------| -------------------------|
118+ | Kubernetes v1.18 + etcd/v3 | ✓ (only workload) | ✓ (only workload) | ✓ (only workload) | |
119+ | Kubernetes v1.19 + etcd/v3 | ✓ | ✓ (only workload) | ✓ (only workload) | |
120+ | Kubernetes v1.20 + etcd/v3 | ✓ | ✓ | ✓ | |
121+ | Kubernetes v1.21 + etcd/v3 | ✓ | ✓ | ✓ | ✓ (only workload) |
122+ | Kubernetes v1.22 + etcd/v3 | ✓ | ✓ | ✓ | ✓ (only workload) |
123+ | Kubernetes v1.23 + etcd/v3 | ✓ | ✓ | ✓ | ✓ |
124+ | Kubernetes v1.24 + etcd/v3 | ✓ | ✓ | ✓ | ✓ |
125+ | Kubernetes v1.25 + etcd/v3 | | ✓ | ✓ | ✓ |
126+ | Kubernetes v1.26 + etcd/v3 | | ✓ | ✓ | ✓ |
127+ | Kubernetes v1.27 + etcd/v3 | | | | ✓ (from v1.4.2 release) |
124128
125129The 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.
126130
@@ -142,6 +146,9 @@ The Kubeadm Control Plane requires the Kubeadm Bootstrap Provider.
142146
143147#### Kubernetes version specific notes
144148
149+ ** 1.27** :
150+ * No specific notes
151+
145152** 1.26** :
146153* No specific notes
147154
0 commit comments