fix: configure Kubernetes feature gates with dictionaries (#13608)

* fix: configure Kubernetes feature gates with dictionaries

* docs: update feature gate settings to dictionaries
This commit is contained in:
Frank
2026-10-15 15:26:39 +00:00
committed by GitHub
parent 6b3cbe1cbb
commit bebc536fae
11 changed files with 59 additions and 57 deletions
@@ -81,21 +81,9 @@ resolvConf: "{{ kube_resolv_conf }}"
{% if kubelet_config_extra_args %}
{{ kubelet_config_extra_args | to_nice_yaml(indent=2) }}
{% endif %}
{% set disable_websockets_to_kubelet = (container_manager == 'docker' and kube_version is version('1.36.0', '>=')) %}
{% set kubelet_gates = (kubelet_feature_gates | default(kube_feature_gates, true)) %}
{% if disable_websockets_to_kubelet %}
{% set kubelet_gates = kubelet_gates | reject('search', '^ExtendWebSocketsToKubelet=') | list %}
{% endif %}
{% if kubelet_gates or disable_websockets_to_kubelet %}
{% if _kubelet_feature_gates %}
featureGates:
{% if disable_websockets_to_kubelet %}
# cri-dockerd does not support WebSocket streaming
# https://github.com/kubernetes-sigs/kubespray/issues/13360
ExtendWebSocketsToKubelet: false
{% endif %}
{% for feature in kubelet_gates %}
{{ feature | replace("=", ": ") }}
{% endfor %}
{{ _kubelet_feature_gates | to_nice_yaml(indent=2) | indent(2) }}
{% endif %}
{% if tls_min_version is defined %}
tlsMinVersion: {{ tls_min_version }}