From 3d78bd31df665899ab5eda0a865e4a5335246442 Mon Sep 17 00:00:00 2001 From: PriyanshuAhlawat Date: Thu, 17 Mar 2022 02:21:16 +0530 Subject: [PATCH 1/2] Update create-cluster-kubeadm.md --- .../tools/kubeadm/create-cluster-kubeadm.md | 53 ++++++++++++++++--- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index e9b423e279559..343aa4a60c4c8 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -524,15 +524,56 @@ options. ## Version skew policy {#version-skew-policy} -The `kubeadm` tool of version v{{< skew latestVersion >}} may deploy clusters with a control plane of version v{{< skew latestVersion >}} or v{{< skew prevMinorVersion >}}. -`kubeadm` v{{< skew latestVersion >}} can also upgrade an existing kubeadm-created cluster of version v{{< skew prevMinorVersion >}}. +While kubeadm allows version skew against some components that it manages, it is recommended that you +match the kubeadm version with the versions of the control plane components, kube-proxy and kubelet. -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. +### kubeadm's skew against the Kubernetes version -These resources provide more information on supported version skew between kubelets and the control plane, and other Kubernetes components: +kubeadm can be used with Kubernetes components that are the same version as kubeadm +or one version older. The Kubernetes version can be specified to kubeadm by using the +`--kubernetes-version` flag of `kubeadm init` or the +[`ClusterConfiguration.kubernetesVersion`](/docs/reference/config-api/kubeadm-config.v1beta3/) +field when using `--config`. This option will control the versions +of kube-apiserver, kube-controller-manager, kube-scheduler and kube-proxy. -* Kubernetes [version and version-skew policy](/docs/setup/release/version-skew-policy/) -* Kubeadm-specific [installation guide](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl) +Example: +* kubeadm is at {{< skew latestVersion >}} +* `kubernetesVersion` must be at {{< skew latestVersion >}} or {{< skew prevMinorVersion >}} + +### kubeadm's skew against the kubelet + +Similarly to the Kubernetes version, kubeadm can be used with a kubelet version that is the same +version as kubeadm or one version older. + +Example: +* kubeadm is at {{< skew latestVersion >}} +* kubelet on the host must be at {{< skew latestVersion >}} or {{< skew prevMinorVersion >}} + +### kubeadm's skew against kubeadm + +There are certain limitations on how kubeadm commands can operate on existing nodes or whole cluster +managed by kubeadm. + +If new nodes are joined to the cluster, the kubeadm binary used for `kubeadm join` must match +the last version of kubeadm used to either create the cluster with `kubeadm init` or to upgrade +the same node with `kubeadm upgrade`. Similar rules apply to the rest of the kubeadm commands +with the exception of `kubeadm upgrade`. + +Example for `kubeadm join`: +* kubeadm version {{< skew latestVersion >}} was used to create a cluster with `kubeadm init` +* Joining nodes must use a kubeadm binary that is at version {{< skew latestVersion >}} + +Nodes that are being upgraded must use a version of kubeadm that is the same MINOR +version or one MINOR version newer than the version of kubeadm used for managing the +node. + +Example for `kubeadm upgrade`: +* kubeadm version {{< skew prevMinorVersion >}} was used to create or upgrade the node +* The version of kubeadm used for upgrading the node must be at {{< skew prevMinorVersion >}} +or {{< skew latestVersion >}} + +To learn more about the version skew between the different Kubernetes component see +the [Version Skew Policy](https://kubernetes.io/releases/version-skew-policy/). ## Limitations {#limitations} From 1f25824e050382e00287769094437bfdccbada56 Mon Sep 17 00:00:00 2001 From: Priyanshu Ahlawat <84102724+PriyanshuAhlawat@users.noreply.github.com> Date: Wed, 30 Mar 2022 22:01:29 +0530 Subject: [PATCH 2/2] Update content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Stefan Büringer <4662360+sbueringer@users.noreply.github.com> --- .../tools/kubeadm/create-cluster-kubeadm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index 343aa4a60c4c8..8349b4a817034 100644 --- a/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -551,7 +551,7 @@ Example: ### kubeadm's skew against kubeadm -There are certain limitations on how kubeadm commands can operate on existing nodes or whole cluster +There are certain limitations on how kubeadm commands can operate on existing nodes or whole clusters managed by kubeadm. If new nodes are joined to the cluster, the kubeadm binary used for `kubeadm join` must match