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

47 lines
1.6 KiB
Plaintext

{%- from "kubernetes/map.jinja" import pool 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={{ pool.host.name }} \
-e IP={{ pool.address }} \
-e IP6={{ pool.get('ipv6_address', '') }} \
{%- if pool.network.calico_network_backend is defined %}
-e CALICO_NETWORKING_BACKEND="{{ pool.network.calico_network_backend }}"
{%- endif %}
-e AS={{ pool.network.get('as', '64512') }} \
-e NO_DEFAULT_POOLS={{ pool.network.get('no_default_pools', false ) }} \
-e CALICO_LIBNETWORK_ENABLED={{ pool.network.get('libnetwork_enabled', true ) }} \
-e ETCD_ENDPOINTS={% for member in pool.network.etcd.members %}http://{{ member.host }}:{{ member.port }}{% if not loop.last %},{% endif %}{% endfor %} \
{%- if pool.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 pool.network.volumes is defined %}
{%- for volume in pool.network.volumes %}
-v {{ volume }} \
{%- endfor %}
{%- endif %}
{{ pool.network.get('image', 'calico/node') }}
Restart=always
RestartSec=10s
ExecStop=-/usr/bin/docker stop calico-node
[Install]
WantedBy=multi-user.target