KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v={{ kube_log_level }}" KUBELET_ADDRESS="--node-ip={{ kubelet_address }}" {% if kube_override_hostname|default('') %} KUBELET_HOSTNAME="--hostname-override={{ kube_override_hostname }}" {% endif %} {# Base kubelet args #} {% set kubelet_args_base -%} {# start kubeadm specific settings #} --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf \ --config={{ kube_config_dir }}/kubelet-config.yaml \ --kubeconfig={{ kube_config_dir }}/kubelet.conf \ {# end kubeadm specific settings #} {% if container_manager == 'docker' and not cri_dockerd_enabled %} --pod-infra-container-image={{ pod_infra_image_repo }}:{{ pod_infra_image_tag }} \ {% else %} --container-runtime=remote \ --container-runtime-endpoint=unix://{{ cri_socket }} \ {% endif %} --runtime-cgroups={{ kubelet_runtime_cgroups }} \ {% endset %} {# Kubelet node taints for gpu #} {% if nvidia_gpu_nodes is defined and nvidia_accelerator_enabled|bool %} {% if inventory_hostname in nvidia_gpu_nodes and node_taints is defined %} {% set dummy = node_taints.append('nvidia.com/gpu=:NoSchedule') %} {% elif inventory_hostname in nvidia_gpu_nodes and node_taints is not defined %} {% set node_taints = [] %} {% set dummy = node_taints.append('nvidia.com/gpu=:NoSchedule') %} {% endif %} {% endif %} KUBELET_ARGS="{{ kubelet_args_base }} {% if node_taints|default([]) %}--register-with-taints={{ node_taints | join(',') }} {% endif %} {% if kubelet_custom_flags is string %} {{kubelet_custom_flags}} {% else %}{% for flag in kubelet_custom_flags %} {{flag}} {% endfor %}{% endif %}{% if inventory_hostname in groups['kube_node'] %}{% if kubelet_node_custom_flags is string %} {{kubelet_node_custom_flags}} {% else %}{% for flag in kubelet_node_custom_flags %} {{flag}} {% endfor %}{% endif %}{% endif %}" {% if kubelet_flexvolumes_plugins_dir is defined %} KUBELET_VOLUME_PLUGIN="--volume-plugin-dir={{ kubelet_flexvolumes_plugins_dir }}" {% endif %} {% if kube_network_plugin is defined and kube_network_plugin in ["calico", "canal", "cni", "flannel", "weave", "cilium", "kube-ovn", "kube-router", "macvlan"] %} KUBELET_NETWORK_PLUGIN="--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin" {% elif kube_network_plugin is defined and kube_network_plugin == "cloud" %} KUBELET_NETWORK_PLUGIN="--hairpin-mode=promiscuous-bridge --network-plugin=kubenet" {% endif %} {% if cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws", "gce", "external"] %} KUBELET_CLOUDPROVIDER="--cloud-provider={{ cloud_provider }} --cloud-config={{ kube_config_dir }}/cloud_config" {% else %} KUBELET_CLOUDPROVIDER="" {% endif %} PATH={{ bin_dir }}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin