You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.3 KiB

  1. [Unit]
  2. Description=Kubernetes Kubelet Server
  3. Documentation=https://github.com/GoogleCloudPlatform/kubernetes
  4. After={{ container_manager }}.service
  5. {% if container_manager == 'docker' %}
  6. Wants=docker.socket
  7. {% else %}
  8. Wants={{ container_manager }}.service
  9. {% endif %}
  10. {% for kubelet_dependency in kubelet_systemd_wants_dependencies|default([]) %}
  11. {% if kubelet_dependency|length > 0 %}
  12. Wants={{ kubelet_dependency }}
  13. {% endif %}
  14. {% endfor %}
  15. [Service]
  16. EnvironmentFile=-{{ kube_config_dir }}/kubelet.env
  17. {% if system_reserved|bool %}
  18. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/cpu/{{ system_reserved_cgroups_for_service_slice }}
  19. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/cpuacct/{{ system_reserved_cgroups_for_service_slice }}
  20. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/cpuset/{{ system_reserved_cgroups_for_service_slice }}
  21. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/hugetlb/{{ system_reserved_cgroups_for_service_slice }}
  22. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/memory/{{ system_reserved_cgroups_for_service_slice }}
  23. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/pids/{{ system_reserved_cgroups_for_service_slice }}
  24. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/systemd/{{ system_reserved_cgroups_for_service_slice }}
  25. {% endif %}
  26. {% if kube_reserved|bool %}
  27. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/cpu/{{ kube_reserved_cgroups_for_service_slice }}
  28. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/cpuacct/{{ kube_reserved_cgroups_for_service_slice }}
  29. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/cpuset/{{ kube_reserved_cgroups_for_service_slice }}
  30. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/hugetlb/{{ kube_reserved_cgroups_for_service_slice }}
  31. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/memory/{{ kube_reserved_cgroups_for_service_slice }}
  32. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/pids/{{ kube_reserved_cgroups_for_service_slice }}
  33. ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/systemd/{{ kube_reserved_cgroups_for_service_slice }}
  34. {% endif %}
  35. ExecStart={{ bin_dir }}/kubelet \
  36. $KUBE_LOGTOSTDERR \
  37. $KUBE_LOG_LEVEL \
  38. $KUBELET_API_SERVER \
  39. $KUBELET_ADDRESS \
  40. $KUBELET_PORT \
  41. $KUBELET_HOSTNAME \
  42. $KUBELET_ARGS \
  43. $DOCKER_SOCKET \
  44. $KUBELET_NETWORK_PLUGIN \
  45. $KUBELET_VOLUME_PLUGIN \
  46. $KUBELET_CLOUDPROVIDER
  47. Restart=always
  48. RestartSec=10s
  49. {% if kubelet_systemd_hardening %}
  50. # Hardening setup
  51. IPAddressDeny=any
  52. IPAddressAllow={{ kubelet_secure_addresses }}
  53. {% endif %}
  54. [Install]
  55. WantedBy=multi-user.target