Skip to content

Commit a45744e

Browse files
authored
Merge pull request #4966 from sohankunkerkar/update-kep-3983-fix
kep-3983: revise beta requirements
2 parents 47e35e2 + 3bb31c8 commit a45744e

File tree

1 file changed

+3
-3
lines changed
  • keps/sig-node/3983-drop-in-configuration

1 file changed

+3
-3
lines changed

keps/sig-node/3983-drop-in-configuration/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
6666

6767
## Summary
6868

69-
Add support for a drop-in configuration directory for the Kubelet. This directory can be specified via a `--config-dir` flag, and configuration files will be processed in alphanumeric order. The flag will be empty by default and if not specified, drop-in support will not be enabled. During the alpha phase, we introduced an environment variable called `KUBELET_CONFIG_DROPIN_DIR_ALPHA` to control the drop-in configuration directory for testing purposes. In the beta phase, we plan to set the default value for the `--config-dir` flag to `/etc/kubernetes/kubelet.conf.d`, while allowing users to opt out of it by setting the value to an empty string. Additionally, we will enhance the feature with E2E testing and streamline the configuration process. As part of this optimization, we will remove the `KUBELET_CONFIG_DROPIN_DIR_ALPHA` environment variable, simplifying configuration management. The feature will be enabled by default during the beta phase, and we will evaluate its status in future releases.
69+
Add support for a drop-in configuration directory for the Kubelet. This directory can be specified via a `--config-dir` flag, and configuration files will be processed in alphanumeric order. The flag will be empty by default and if not specified, drop-in support will not be enabled. During the alpha phase, we introduced an environment variable called `KUBELET_CONFIG_DROPIN_DIR_ALPHA` to control the drop-in configuration directory for testing purposes. In the beta phase, we plan to leave the `--config-dir` flag unset by default, which aligns with the behavior of the `--config` flag. Users are encouraged to opt in by specifying their desired configuration directory. Additionally, we will enhance the feature with E2E testing and streamline the configuration process. As part of this optimization, we will remove the `KUBELET_CONFIG_DROPIN_DIR_ALPHA` environment variable, simplifying configuration management. The feature will be enabled by default during the beta phase, and we will evaluate its status in future releases.
7070

7171

7272
## Motivation
@@ -204,7 +204,7 @@ Add ability to support drop-in configuration directory.
204204
Add ability to augment the feature's capabilities with a focus on robustness and testing, which includes:
205205
- Ensure the correct kubelet configuration is displayed when queried using the `kubectl get --raw "/api/v1/nodes/{node-name}/proxy/configz"` command, particularly verifying the contents of the kubelet.conf.d directory.
206206
- Remove the environment variable `KUBELET_CONFIG_DROPIN_DIR_ALPHA`, introduced during the Alpha phase, to streamline the user experience by simplifying configuration management.
207-
- Set the default value of `--config-dir` to `/etc/kubernetes/kubelet.conf.d`. Users can disable this field by setting it to an empty string.
207+
- Leave the `--config-dir` flag empty by default. Users can configure it by specifying a path, with `/etc/kubernetes/kubelet.conf.d` as the recommended directory.
208208
- Add a version compatibility check for drop-in files to ensure alignment with the expected Kubelet configuration API version and catch discrepancies when future versions are introduced.
209209
- Provide official guidance on the Kubernetes website for merging lists and structures in the kubelet configuration file, including documentation for the `/configz` endpoint.
210210

@@ -233,7 +233,7 @@ All behavior change is encapsulated within the Kubelet, so there is no version s
233233
- [] Feature gate
234234
N/A
235235

236-
In addition to configuring the KUBELET_CONFIG_DROPIN_DIR_ALPHA environment variable, administrators must explicitly set the --config-dir flag in the kubelet's command-line interface (CLI) to enable this feature. Starting from the beta phase, specifying the --config-dir flag is the only way to enable this feature. The default value for `--config-dir` will be set to `/etc/kubernetes/kubelet.conf.d`, which means the feature will be enabled by default. Users can disable it by setting the value to an empty string.
236+
In addition to configuring the KUBELET_CONFIG_DROPIN_DIR_ALPHA environment variable, administrators must explicitly set the --config-dir flag in the kubelet's command-line interface (CLI) to enable this feature. Starting from the beta phase, specifying the --config-dir flag is the only way to enable this feature. The default value for `--config-dir` is an empty string, which means the feature is disabled by default.
237237

238238
The decision to use an environment variable (KUBELET_CONFIG_DROPIN_DIR_ALPHA) over a feature gate was made to avoid potential conflicts in configuration settings. With the current configuration flow, feature gates could lead to unexpected behavior when CLI settings conflict with the kubelet.conf.d directory. The potential issue arises when the CLI initially sets the feature gate to "off," but the kubelet configuration specifies it as "on." In this scenario, the kubelet would start with the feature gate "off," switch it to "on" during configuration rendering, and then have conflicting settings when reading the kubelet.conf.d directory, leading to unexpected behavior. By using an environment variable during the alpha phase, we provided a simpler and more predictable way to control the drop-in configuration directory for testing. In the beta phase, we are removing this environment variable to streamline configuration management and enhance the user experience.
239239

0 commit comments

Comments
 (0)