Skip to content

Commit 8134e9c

Browse files
authored
Merge pull request #32307 from PriyanshuAhlawat/version_skew_doc
create-cluster-kubeadm: update the version skew policy
2 parents b356cda + 1f25824 commit 8134e9c

File tree

1 file changed

+47
-6
lines changed

1 file changed

+47
-6
lines changed

content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md

Lines changed: 47 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -524,15 +524,56 @@ options.
524524

525525
## Version skew policy {#version-skew-policy}
526526

527-
The `kubeadm` tool of version v{{< skew latestVersion >}} may deploy clusters with a control plane of version v{{< skew latestVersion >}} or v{{< skew prevMinorVersion >}}.
528-
`kubeadm` v{{< skew latestVersion >}} can also upgrade an existing kubeadm-created cluster of version v{{< skew prevMinorVersion >}}.
527+
While kubeadm allows version skew against some components that it manages, it is recommended that you
528+
match the kubeadm version with the versions of the control plane components, kube-proxy and kubelet.
529529

530-
Due to that we can't see into the future, kubeadm CLI v{{< skew latestVersion >}} may or may not be able to deploy v{{< skew nextMinorVersion >}} clusters.
530+
### kubeadm's skew against the Kubernetes version
531531

532-
These resources provide more information on supported version skew between kubelets and the control plane, and other Kubernetes components:
532+
kubeadm can be used with Kubernetes components that are the same version as kubeadm
533+
or one version older. The Kubernetes version can be specified to kubeadm by using the
534+
`--kubernetes-version` flag of `kubeadm init` or the
535+
[`ClusterConfiguration.kubernetesVersion`](/docs/reference/config-api/kubeadm-config.v1beta3/)
536+
field when using `--config`. This option will control the versions
537+
of kube-apiserver, kube-controller-manager, kube-scheduler and kube-proxy.
533538

534-
* Kubernetes [version and version-skew policy](/docs/setup/release/version-skew-policy/)
535-
* Kubeadm-specific [installation guide](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl)
539+
Example:
540+
* kubeadm is at {{< skew latestVersion >}}
541+
* `kubernetesVersion` must be at {{< skew latestVersion >}} or {{< skew prevMinorVersion >}}
542+
543+
### kubeadm's skew against the kubelet
544+
545+
Similarly to the Kubernetes version, kubeadm can be used with a kubelet version that is the same
546+
version as kubeadm or one version older.
547+
548+
Example:
549+
* kubeadm is at {{< skew latestVersion >}}
550+
* kubelet on the host must be at {{< skew latestVersion >}} or {{< skew prevMinorVersion >}}
551+
552+
### kubeadm's skew against kubeadm
553+
554+
There are certain limitations on how kubeadm commands can operate on existing nodes or whole clusters
555+
managed by kubeadm.
556+
557+
If new nodes are joined to the cluster, the kubeadm binary used for `kubeadm join` must match
558+
the last version of kubeadm used to either create the cluster with `kubeadm init` or to upgrade
559+
the same node with `kubeadm upgrade`. Similar rules apply to the rest of the kubeadm commands
560+
with the exception of `kubeadm upgrade`.
561+
562+
Example for `kubeadm join`:
563+
* kubeadm version {{< skew latestVersion >}} was used to create a cluster with `kubeadm init`
564+
* Joining nodes must use a kubeadm binary that is at version {{< skew latestVersion >}}
565+
566+
Nodes that are being upgraded must use a version of kubeadm that is the same MINOR
567+
version or one MINOR version newer than the version of kubeadm used for managing the
568+
node.
569+
570+
Example for `kubeadm upgrade`:
571+
* kubeadm version {{< skew prevMinorVersion >}} was used to create or upgrade the node
572+
* The version of kubeadm used for upgrading the node must be at {{< skew prevMinorVersion >}}
573+
or {{< skew latestVersion >}}
574+
575+
To learn more about the version skew between the different Kubernetes component see
576+
the [Version Skew Policy](https://kubernetes.io/releases/version-skew-policy/).
536577

537578
## Limitations {#limitations}
538579

0 commit comments

Comments
 (0)