@@ -74,19 +74,17 @@ These diagrams show the relationships between components in a Cluster API releas
7474
7575#### Core Provider (` cluster-api-controller ` )
7676
77- | | v1.6 (v1beta1) (EOL) | v1.7 (v1beta1) | v1.8 (v1beta1) | v1.9 (v1beta1) |
78- | -------------------| ----------------------| -------------------| -------------------| -------------------|
79- | Kubernetes v1.22 | | | | |
80- | Kubernetes v1.23* | ✓ (only workload) | | | |
81- | Kubernetes v1.24 | ✓ (only workload) | ✓ (only workload) | | |
82- | Kubernetes v1.25 | ✓ | ✓ (only workload) | ✓ (only workload) | |
83- | Kubernetes v1.26 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) |
84- | Kubernetes v1.27 | ✓ | ✓ | ✓ | ✓ (only workload) |
85- | Kubernetes v1.28 | ✓ | ✓ | ✓ | ✓ |
86- | Kubernetes v1.29 | ✓ >= v1.6.1 | ✓ | ✓ | ✓ |
87- | Kubernetes v1.30 | | ✓ >= v1.7.1 | ✓ | ✓ |
88- | Kubernetes v1.31 | | | ✓ >= v1.8.1 | ✓ |
89- | Kubernetes v1.32 | | | | ✓ >= v1.9.1 |
77+ | | v1.7 (v1beta1) EOL | v1.8 (v1beta1) | v1.9 (v1beta1) |
78+ | -------------------| --------------------| -------------------| -------------------|
79+ | Kubernetes v1.24 | ✓ (only workload) | | |
80+ | Kubernetes v1.25 | ✓ (only workload) | ✓ (only workload) | |
81+ | Kubernetes v1.26 | ✓ | ✓ (only workload) | ✓ (only workload) |
82+ | Kubernetes v1.27 | ✓ | ✓ | ✓ (only workload) |
83+ | Kubernetes v1.28 | ✓ | ✓ | ✓ |
84+ | Kubernetes v1.29 | ✓ | ✓ | ✓ |
85+ | Kubernetes v1.30 | ✓ >= v1.7.1 | ✓ | ✓ |
86+ | Kubernetes v1.31 | | ✓ >= v1.8.1 | ✓ |
87+ | Kubernetes v1.32 | | | ✓ >= v1.9.1 |
9088
9189
9290\* 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.
@@ -96,37 +94,33 @@ The Core Provider also talks to API server of every Workload Cluster. Therefore,
9694
9795#### Kubeadm Bootstrap Provider (` kubeadm-bootstrap-controller ` )
9896
99- | | v1.6 (v1beta1) (EOL) | v1.7 (v1beta1) | v1.8 (v1beta1) | v1.9 (v1beta1) |
100- | ------------------------------------| ----------------------| --------------------| --------------------| --------------------|
101- | Kubernetes v1.22 + kubeadm/v1beta3 | | | | |
102- | Kubernetes v1.23 + kubeadm/v1beta3 | ✓ (only workload) | | | |
103- | Kubernetes v1.24 + kubeadm/v1beta3 | ✓ (only workload) | ✓ (only workload) | | |
104- | Kubernetes v1.25 + kubeadm/v1beta3 | ✓ | ✓ (only workload) | ✓ (only workload) | |
105- | Kubernetes v1.26 + kubeadm/v1beta3 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) |
106- | Kubernetes v1.27 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ (only workload) |
107- | Kubernetes v1.28 + kubeadm/v1beta3 | ✓ | ✓ | ✓ | ✓ |
108- | Kubernetes v1.29 + kubeadm/v1beta3 | ✓ >= v1.6.1 | ✓ | ✓ | ✓ |
109- | Kubernetes v1.30 + kubeadm/v1beta3 | | ✓ >= v1.7.1 | ✓ | ✓ |
110- | Kubernetes v1.31 + kubeadm/v1beta4 | | | ✓ >= v1.8.1 | ✓ |
111- | Kubernetes v1.32 + kubeadm/v1beta4 | | | | ✓ >= v1.9.1 |
97+ | | v1.7 (v1beta1) EOL | v1.8 (v1beta1) | v1.9 (v1beta1) |
98+ | ------------------------------------| --------------------| --------------------| --------------------|
99+ | Kubernetes v1.24 + kubeadm/v1beta3 | ✓ (only workload) | | |
100+ | Kubernetes v1.25 + kubeadm/v1beta3 | ✓ (only workload) | ✓ (only workload) | |
101+ | Kubernetes v1.26 + kubeadm/v1beta3 | ✓ | ✓ (only workload) | ✓ (only workload) |
102+ | Kubernetes v1.27 + kubeadm/v1beta3 | ✓ | ✓ | ✓ (only workload) |
103+ | Kubernetes v1.28 + kubeadm/v1beta3 | ✓ | ✓ | ✓ |
104+ | Kubernetes v1.29 + kubeadm/v1beta3 | ✓ | ✓ | ✓ |
105+ | Kubernetes v1.30 + kubeadm/v1beta3 | ✓ >= v1.7.1 | ✓ | ✓ |
106+ | Kubernetes v1.31 + kubeadm/v1beta4 | | ✓ >= v1.8.1 | ✓ |
107+ | Kubernetes v1.32 + kubeadm/v1beta4 | | | ✓ >= v1.9.1 |
112108
113109The Kubeadm Bootstrap Provider generates kubeadm configuration using the API version recommended for the target Kubernetes version.
114110
115111#### Kubeadm Control Plane Provider (` kubeadm-control-plane-controller ` )
116112
117- | | v1.6 (v1beta1) (EOL) | v1.7 (v1beta1) | v1.8 (v1beta1) | v1.9 (v1beta1) |
118- | ----------------------------| ----------------------| -------------------| -------------------| -------------------|
119- | Kubernetes v1.22 + etcd/v3 | | | | |
120- | Kubernetes v1.23 + etcd/v3 | ✓ (only workload) | | | |
121- | Kubernetes v1.24 + etcd/v3 | ✓ (only workload) | ✓ (only workload) | | |
122- | Kubernetes v1.25 + etcd/v3 | ✓ | ✓ (only workload) | ✓ (only workload) | |
123- | Kubernetes v1.26 + etcd/v3 | ✓ | ✓ | ✓ (only workload) | ✓ (only workload) |
124- | Kubernetes v1.27 + etcd/v3 | ✓ | ✓ | ✓ | ✓ (only workload) |
125- | Kubernetes v1.28 + etcd/v3 | ✓ | ✓ | ✓ | ✓ |
126- | Kubernetes v1.29 + etcd/v3 | ✓ >= v1.6.1 | ✓ | ✓ | ✓ |
127- | Kubernetes v1.30 + etcd/v3 | | ✓ >= v1.7.1 | ✓ | ✓ |
128- | Kubernetes v1.31 + etcd/v3 | | | ✓ >= v1.8.1 | ✓ |
129- | Kubernetes v1.32 + etcd/v3 | | | | ✓ >= v1.9.1 |
113+ | | v1.7 (v1beta1) EOL | v1.8 (v1beta1) | v1.9 (v1beta1) |
114+ | ----------------------------| --------------------| -------------------| -------------------|
115+ | Kubernetes v1.24 + etcd/v3 | ✓ (only workload) | | |
116+ | Kubernetes v1.25 + etcd/v3 | ✓ (only workload) | ✓ (only workload) | |
117+ | Kubernetes v1.26 + etcd/v3 | ✓ | ✓ (only workload) | ✓ (only workload) |
118+ | Kubernetes v1.27 + etcd/v3 | ✓ | ✓ | ✓ (only workload) |
119+ | Kubernetes v1.28 + etcd/v3 | ✓ | ✓ | ✓ |
120+ | Kubernetes v1.29 + etcd/v3 | ✓ | ✓ | ✓ |
121+ | Kubernetes v1.30 + etcd/v3 | ✓ >= v1.7.1 | ✓ | ✓ |
122+ | Kubernetes v1.31 + etcd/v3 | | ✓ >= v1.8.1 | ✓ |
123+ | Kubernetes v1.32 + etcd/v3 | | | ✓ >= v1.9.1 |
130124
131125The 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.
132126
0 commit comments