a56d9de502
* Add restart for weave service unit * Reuse docker_bin_dir everythere * Limit systemd managed docker containers by CPU/RAM. Do not configure native systemd limits due to the lack of consensus in the kernel community requires out-of-tree kernel patches. Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
36 lines
1.2 KiB
Django/Jinja
36 lines
1.2 KiB
Django/Jinja
[Unit]
|
|
Description=calico-node
|
|
After=docker.service
|
|
Requires=docker.service
|
|
|
|
[Service]
|
|
EnvironmentFile=/etc/calico/calico.env
|
|
ExecStartPre=-{{ docker_bin_dir }}/docker rm -f calico-node
|
|
ExecStart={{ docker_bin_dir }}/docker run --net=host --privileged \
|
|
--name=calico-node \
|
|
-e HOSTNAME=${CALICO_HOSTNAME} \
|
|
-e IP=${CALICO_IP} \
|
|
-e IP6=${CALICO_IP6} \
|
|
-e CALICO_NETWORKING_BACKEND=${CALICO_NETWORKING_BACKEND} \
|
|
-e AS=${CALICO_AS} \
|
|
-e NO_DEFAULT_POOLS=${CALICO_NO_DEFAULT_POOLS} \
|
|
-e CALICO_LIBNETWORK_ENABLED=${CALICO_LIBNETWORK_ENABLED} \
|
|
-e ETCD_ENDPOINTS=${ETCD_ENDPOINTS} \
|
|
-e ETCD_CA_CERT_FILE=${ETCD_CA_CERT_FILE} \
|
|
-e ETCD_CERT_FILE=${ETCD_CERT_FILE} \
|
|
-e ETCD_KEY_FILE=${ETCD_KEY_FILE} \
|
|
-v /var/log/calico:/var/log/calico \
|
|
-v /run/docker/plugins:/run/docker/plugins \
|
|
-v /lib/modules:/lib/modules \
|
|
-v /var/run/calico:/var/run/calico \
|
|
-v {{ calico_cert_dir }}:{{ calico_cert_dir }}:ro \
|
|
--memory={{ calico_node_memory_limit|regex_replace('Mi', 'M') }} --cpu-shares={{ calico_node_cpu_limit|regex_replace('m', '') }} \
|
|
{{ calico_node_image_repo }}:{{ calico_node_image_tag }}
|
|
|
|
Restart=always
|
|
RestartSec=10s
|
|
|
|
ExecStop=-{{ docker_bin_dir }}/docker stop calico-node
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|