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.

64 lines
2.7 KiB

  1. [Unit]
  2. Description=Kubernetes Kubelet Server
  3. Documentation=https://github.com/GoogleCloudPlatform/kubernetes
  4. {% if kube_network_plugin is defined and kube_network_plugin == "calico" %}
  5. After=calico-node.service
  6. Wants=network.target calico-node.service
  7. {% else %}
  8. Wants=network.target
  9. {% endif %}
  10. [Service]
  11. Restart=on-failure
  12. RestartSec=10s
  13. TimeoutStartSec=0
  14. LimitNOFILE=40000
  15. ExecStartPre=-/usr/bin/rkt rm --uuid-file=/var/run/kubelet.uuid
  16. ExecStartPre=-/bin/mkdir -p /var/lib/kubelet
  17. EnvironmentFile={{kube_config_dir}}/kubelet.env
  18. # stage1-fly mounts /proc /sys /dev so no need to duplicate the mounts
  19. ExecStart=/usr/bin/rkt run \
  20. --volume dns,kind=host,source=/etc/resolv.conf \
  21. --volume etc-cni,kind=host,source=/etc/cni,readOnly=true \
  22. --volume etc-kubernetes,kind=host,source={{ kube_config_dir }},readOnly=false \
  23. --volume etc-ssl-certs,kind=host,source=/etc/ssl/certs,readOnly=true \
  24. --volume etcd-ssl,kind=host,source={{ etcd_config_dir }},readOnly=true \
  25. --volume opt-cni,kind=host,source=/opt/cni,readOnly=true \
  26. --volume run,kind=host,source=/run,readOnly=false \
  27. --volume usr-share-certs,kind=host,source=/usr/share/ca-certificates,readOnly=true \
  28. --volume var-lib-docker,kind=host,source={{ docker_daemon_graph }},readOnly=false \
  29. --volume var-lib-kubelet,kind=host,source=/var/lib/kubelet,readOnly=false \
  30. --volume var-log,kind=host,source=/var/log \
  31. --mount volume=dns,target=/etc/resolv.conf \
  32. --mount volume=etc-cni,target=/etc/cni \
  33. --mount volume=etc-kubernetes,target={{ kube_config_dir }} \
  34. --mount volume=etc-ssl-certs,target=/etc/ssl/certs \
  35. --mount volume=etcd-ssl,target={{ etcd_config_dir }} \
  36. --mount volume=opt-cni,target=/opt/cni \
  37. --mount volume=run,target=/run \
  38. --mount volume=usr-share-certs,target=/usr/share/ca-certificates \
  39. --mount volume=var-lib-docker,target=/var/lib/docker \
  40. --mount volume=var-lib-kubelet,target=/var/lib/kubelet \
  41. --mount volume=var-log,target=/var/log \
  42. --stage1-from-dir=stage1-fly.aci \
  43. {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} \
  44. --uuid-file-save=/var/run/kubelet.uuid \
  45. --debug --exec=/kubelet -- \
  46. $KUBE_LOGTOSTDERR \
  47. $KUBE_LOG_LEVEL \
  48. $KUBELET_API_SERVER \
  49. $KUBELET_ADDRESS \
  50. $KUBELET_PORT \
  51. $KUBELET_HOSTNAME \
  52. $KUBE_ALLOW_PRIV \
  53. $KUBELET_ARGS \
  54. $DOCKER_SOCKET \
  55. $KUBELET_REGISTER_NODE \
  56. $KUBELET_NETWORK_PLUGIN
  57. ExecStop=-/usr/bin/rkt stop --uuid-file=/var/run/kubelet.uuid
  58. [Install]
  59. WantedBy=multi-user.target