mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-10-30 22:16:23 -02:30
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:
@@ -111,9 +111,7 @@ networking:
|
||||
{% endif %}
|
||||
{% if kubeadm_feature_gates %}
|
||||
featureGates:
|
||||
{% for feature in kubeadm_feature_gates %}
|
||||
{{ feature | replace("=", ": ") }}
|
||||
{% endfor %}
|
||||
{{ kubeadm_feature_gates | to_nice_yaml(indent=2) | indent(2) }}
|
||||
{% endif %}
|
||||
kubernetesVersion: v{{ kube_version }}
|
||||
{% if kube_apiserver_endpoint is defined %}
|
||||
@@ -264,7 +262,7 @@ apiServer:
|
||||
{% endfor %}
|
||||
{% if kube_apiserver_feature_gates or kube_feature_gates %}
|
||||
- name: feature-gates
|
||||
value: "{{ kube_apiserver_feature_gates | default(kube_feature_gates, true) | join(',') }}"
|
||||
value: "{% for key, value in (kube_apiserver_feature_gates | default(kube_feature_gates, true)).items() %}{{ key }}={{ value | lower }}{{ ',' if not loop.last else '' }}{% endfor %}"
|
||||
{% endif %}
|
||||
{% if tls_min_version is defined %}
|
||||
- name: tls-min-version
|
||||
@@ -402,7 +400,7 @@ controllerManager:
|
||||
value: "{{ kube_controller_manager_leader_elect_renew_deadline }}"
|
||||
{% if kube_controller_feature_gates or kube_feature_gates %}
|
||||
- name: feature-gates
|
||||
value: "{{ kube_controller_feature_gates | default(kube_feature_gates, true) | join(',') }}"
|
||||
value: "{% for key, value in (kube_controller_feature_gates | default(kube_feature_gates, true)).items() %}{{ key }}={{ value | lower }}{{ ',' if not loop.last else '' }}{% endfor %}"
|
||||
{% endif %}
|
||||
{% for key in kube_kubeadm_controller_extra_args %}
|
||||
- name: "{{ key }}"
|
||||
@@ -441,7 +439,7 @@ scheduler:
|
||||
value: "{{ kube_config_dir }}/kubescheduler-config.yaml"
|
||||
{% if kube_scheduler_feature_gates or kube_feature_gates %}
|
||||
- name: feature-gates
|
||||
value: "{{ kube_scheduler_feature_gates | default(kube_feature_gates, true) | join(',') }}"
|
||||
value: "{% for key, value in (kube_scheduler_feature_gates | default(kube_feature_gates, true)).items() %}{{ key }}={{ value | lower }}{{ ',' if not loop.last else '' }}{% endfor %}"
|
||||
{% endif %}
|
||||
- name: profiling
|
||||
value: "{{ kube_profiling }}"
|
||||
@@ -564,9 +562,7 @@ portRange: {{ kube_proxy_port_range }}
|
||||
{% if kube_proxy_feature_gates or kube_feature_gates %}
|
||||
{% set feature_gates = ( kube_proxy_feature_gates | default(kube_feature_gates, true) ) %}
|
||||
featureGates:
|
||||
{% for feature in feature_gates %}
|
||||
{{ feature | replace("=", ": ") }}
|
||||
{% endfor %}
|
||||
{{ feature_gates | to_nice_yaml(indent=2) | indent(2) }}
|
||||
{% endif %}
|
||||
{# DNS settings for kubelet #}
|
||||
{% if enable_nodelocaldns %}
|
||||
@@ -590,19 +586,7 @@ clusterDNS:
|
||||
{% for dns_address in kubelet_cluster_dns %}
|
||||
- {{ dns_address }}
|
||||
{% endfor %}
|
||||
{% set disable_websockets_to_kubelet = (container_manager == 'docker' and kube_version is version('1.36.0', '>=')) %}
|
||||
{% set feature_gates = ( kubelet_feature_gates | default(kube_feature_gates, true) ) %}
|
||||
{% if disable_websockets_to_kubelet %}
|
||||
{% set feature_gates = feature_gates | reject('search', '^ExtendWebSocketsToKubelet=') | list %}
|
||||
{% endif %}
|
||||
{% if feature_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 feature_gates %}
|
||||
{{ feature | replace("=", ": ") }}
|
||||
{% endfor %}
|
||||
{{ _kubelet_feature_gates | to_nice_yaml(indent=2) | indent(2) }}
|
||||
{% endif %}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
Reference in New Issue
Block a user