kubeadm: update feature gates and add removed FGs (#42771)

* kubeadm: remove UnversionedKubeletConfigMap

* kuebadm: add IPv6DualStack to removed FG

* kubeadm: add EtcdLearnerMode FG descriptions
pull/42803/head
Paco Xu 2023-08-31 15:52:48 +08:00 committed by GitHub
parent 37fe70480b
commit f80dc71c15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 29 additions and 10 deletions

View File

@ -159,7 +159,7 @@ Feature | Default | Alpha | Beta | GA
:-------|:--------|:------|:-----|:---- :-------|:--------|:------|:-----|:----
`PublicKeysECDSA` | `false` | 1.19 | - | - `PublicKeysECDSA` | `false` | 1.19 | - | -
`RootlessControlPlane` | `false` | 1.22 | - | - `RootlessControlPlane` | `false` | 1.22 | - | -
`UnversionedKubeletConfigMap` | `true` | 1.22 | 1.23 | 1.25 `EtcdLearnerMode` | `false` | 1.27 | - | -
{{< /table >}} {{< /table >}}
{{< note >}} {{< note >}}
@ -179,15 +179,9 @@ for `kube-apiserver`, `kube-controller-manager`, `kube-scheduler` and `etcd` to
If the flag is not set, those components run as root. You can change the value of this feature gate before If the flag is not set, those components run as root. You can change the value of this feature gate before
you upgrade to a newer version of Kubernetes. you upgrade to a newer version of Kubernetes.
`UnversionedKubeletConfigMap` `EtcdLearnerMode`
: This flag controls the name of the {{< glossary_tooltip text="ConfigMap" term_id="configmap" >}} where kubeadm stores : With this feature gate enabled, when joining a new control plane node, a new etcd member will be created
kubelet configuration data. With this flag not specified or set to `true`, the ConfigMap is named `kubelet-config`. as a learner and promoted to a voting member only after the etcd data are fully aligned.
If you set this flag to `false`, the name of the ConfigMap includes the major and minor version for Kubernetes
(for example: `kubelet-config-{{< skew currentVersion >}}`). Kubeadm ensures that RBAC rules for reading and writing
that ConfigMap are appropriate for the value you set. When kubeadm writes this ConfigMap (during `kubeadm init`
or `kubeadm upgrade apply`), kubeadm respects the value of `UnversionedKubeletConfigMap`. When reading that ConfigMap
(during `kubeadm join`, `kubeadm reset`, `kubeadm upgrade ...`), kubeadm attempts to use unversioned ConfigMap name first;
if that does not succeed, kubeadm falls back to using the legacy (versioned) name for that ConfigMap.
List of deprecated feature gates: List of deprecated feature gates:
@ -213,6 +207,31 @@ instance is upgraded. The deprecated `UpgradeAddonsBeforeControlPlane` feature g
behavior. You should not need this old behavior; if you do, you should consider changing your cluster or upgrade processes, as this behavior. You should not need this old behavior; if you do, you should consider changing your cluster or upgrade processes, as this
feature gate will be removed in a future release. feature gate will be removed in a future release.
List of removed feature gates:
{{< table caption="kubeadm removed feature gates" >}}
Feature | Alpha | Beta | GA | Removed
:-------|:------|:-----|:---|:-------
`UnversionedKubeletConfigMap` | 1.22 | 1.23 | 1.25 | 1.26
`IPv6DualStack` | 1.16 | 1.21 | 1.23 | 1.24
{{< /table >}}
Feature gate descriptions:
`UnversionedKubeletConfigMap`
: This flag controls the name of the {{< glossary_tooltip text="ConfigMap" term_id="configmap" >}} where kubeadm stores
kubelet configuration data. With this flag not specified or set to `true`, the ConfigMap is named `kubelet-config`.
If you set this flag to `false`, the name of the ConfigMap includes the major and minor version for Kubernetes
(for example: `kubelet-config-{{< skew currentVersion >}}`). Kubeadm ensures that RBAC rules for reading and writing
that ConfigMap are appropriate for the value you set. When kubeadm writes this ConfigMap (during `kubeadm init`
or `kubeadm upgrade apply`), kubeadm respects the value of `UnversionedKubeletConfigMap`. When reading that ConfigMap
(during `kubeadm join`, `kubeadm reset`, `kubeadm upgrade ...`), kubeadm attempts to use unversioned ConfigMap name first;
if that does not succeed, kubeadm falls back to using the legacy (versioned) name for that ConfigMap.
`IPv6DualStack`
: This flag helps to configure components dual stack when the feature is in progress. For more details on Kubernetes
dual-stack support see [Dual-stack support with kubeadm](/docs/setup/production-environment/tools/kubeadm/dual-stack-support/).
### Adding kube-proxy parameters {#kube-proxy} ### Adding kube-proxy parameters {#kube-proxy}
For information about kube-proxy parameters in the kubeadm configuration see: For information about kube-proxy parameters in the kubeadm configuration see: