salt-formula-kubernetes/kubernetes/files/calico/calico-node.service.master

46 lines
1.6 KiB
Plaintext

{%- from "kubernetes/map.jinja" import master with context %}
[Unit]
Description=calico-node
After=docker.service
Requires=docker.service
[Service]
ExecStartPre=-/usr/bin/docker rm -f calico-node
ExecStart=/usr/bin/docker run --net=host --privileged \
--name=calico-node \
-e HOSTNAME={{ master.host.name }} \
-e IP={{ master.apiserver.address }} \
-e IP6={{ master.get('ipv6_address', '') }} \
{%- if master.network.calico_network_backend is defined %}
-e CALICO_NETWORKING_BACKEND="{{ master.network.calico_network_backend }}"
{%- endif %}
-e AS={{ master.network.get('as', '64512') }} \
-e NO_DEFAULT_masterS={{ master.network.get('no_default_masters', false ) }} \
-e CALICO_LIBNETWORK_ENABLED={{ master.network.get('libnetwork_enabled', true ) }} \
-e ETCD_ENDPOINTS={% for member in master.network.etcd.members %}http://{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %} \
{%- if master.network.etcd.ssl is defined %}
##TO BE DONE
-e ETCD_CA_CERT_FILE= \
-e ETCD_CERT_FILE= \
-e ETCD_KEY_FILE= \
-v {{ calico_cert_dir }}:{{ calico_cert_dir }}:ro \
{{ calico_node_image_repo }}:{{ calico_node_image_tag }}
{%- endif %}
-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 \
{%- if master.network.volumes is defined %}
{%- for volume in master.network.volumes %}
-v {{ volume }} \
{%- endfor %}
{%- endif %}
{{ master.network.get('image', 'calico/node') }}:{{ master.network.get('image', 'latest') }}
Restart=always
RestartSec=10s
ExecStop=-/usr/bin/docker stop calico-node
[Install]
WantedBy=multi-user.target