46 lines
1.6 KiB
Plaintext
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 |