[Unit] Description=Kubernetes Worker Process Requires=network-online.target After=network-online.target [Service] ExecStart=/opt/kubernetes/bin/kubelet \ --allow-privileged=true \ --anonymous-auth=false \ --client-ca-file=/etc/kubernetes/pki/kubelet-client-ca.pem \ --cluster-dns={{ config['KubernetesNetwork:dns.service_ip'] }} \ --cluster-domain={{ config['KubernetesNetwork:dns.cluster_domain'] }} \ --hostname-override={{ config.get_first('Genesis:hostname', 'KubernetesNode:hostname') }} \ --kubeconfig=/etc/kubernetes/kubeconfig \ --node-ip={{ config.get_first('Genesis:ip', 'KubernetesNode:ip') }} \ --pod-manifest-path=/etc/kubernetes/manifests \ --tls-cert-file=/etc/kubernetes/pki/kubelet.pem \ --tls-private-key-file=/etc/kubernetes/pki/kubelet-key.pem \ {%- if config['Genesis:labels.static'] is defined %} --node-labels={{ config['Genesis:labels.static'] | join(',') }} \ {%- elif config['KubernetesNode:labels.static'] is defined %} --node-labels={{ config['KubernetesNode:labels.static'] | join(',') }} \ {%- endif %} {%- if config['Kubelet:arguments'] is defined %} {%- for argument in config['Kubelet:arguments'] %} {{ argument }} \ {%- endfor %} {%- endif %} --pod-infra-container-image={{ config['Kubelet:images.pause'] }} Restart=always StartLimitInterval=0 RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target