mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-28 09:39:12 +03:00
Systemd units, limits, and bin path fixes
* 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>
This commit is contained in:
committed by
Bogdan Dobrelya
parent
6139ee3add
commit
a56d9de502
@@ -19,3 +19,17 @@ global_as_num: "64512"
|
||||
# not be specified in calico CNI config, so Calico will use built-in
|
||||
# defaults. The value should be a number, not a string.
|
||||
# calico_mtu: 1500
|
||||
|
||||
# Limits for apps
|
||||
calico_rr_memory_limit: 1000M
|
||||
calico_rr_cpu_limit: 300m
|
||||
calico_rr_memory_requests: 500M
|
||||
calico_rr_cpu_requests: 150m
|
||||
calico_node_memory_limit: 500M
|
||||
calico_node_cpu_limit: 300m
|
||||
calico_node_memory_requests: 256M
|
||||
calico_node_cpu_requests: 150m
|
||||
calicoctl_memory_limit: 170M
|
||||
calicoctl_cpu_limit: 100m
|
||||
calicoctl_memory_requests: 70M
|
||||
calicoctl_cpu_requests: 50m
|
||||
|
||||
@@ -5,8 +5,8 @@ Requires=docker.service
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/calico/calico-rr.env
|
||||
ExecStartPre=-/usr/bin/docker rm -f calico-rr
|
||||
ExecStart=/usr/bin/docker run --net=host --privileged \
|
||||
ExecStartPre=-{{ docker_bin_dir }}/docker rm -f calico-rr
|
||||
ExecStart={{ docker_bin_dir }}/docker run --net=host --privileged \
|
||||
--name=calico-rr \
|
||||
-e IP=${IP} \
|
||||
-e IP6=${IP6} \
|
||||
@@ -16,12 +16,13 @@ ExecStart=/usr/bin/docker run --net=host --privileged \
|
||||
-e ETCD_KEY_FILE=${ETCD_KEY_FILE} \
|
||||
-v /var/log/calico-rr:/var/log/calico \
|
||||
-v {{ calico_cert_dir }}:{{ calico_cert_dir }}:ro \
|
||||
--memory={{ calico_rr_memory_limit|regex_replace('Mi', 'M') }} --cpu-shares={{ calico_rr_cpu_limit|regex_replace('m', '') }} \
|
||||
{{ calico_rr_image_repo }}:{{ calico_rr_image_tag }}
|
||||
|
||||
Restart=always
|
||||
RestartSec=10s
|
||||
|
||||
ExecStop=-/usr/bin/docker stop calico-rr
|
||||
ExecStop=-{{ docker_bin_dir }}/docker stop calico-rr
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
notify: restart calico-node
|
||||
|
||||
- name: Calico | Copy cni plugins from hyperkube
|
||||
command: "/usr/bin/docker run --rm -v /opt/cni/bin:/cnibindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /usr/bin/rsync -a /opt/cni/bin/ /cnibindir/"
|
||||
command: "{{ docker_bin_dir }}/docker run --rm -v /opt/cni/bin:/cnibindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /usr/bin/rsync -a /opt/cni/bin/ /cnibindir/"
|
||||
register: cni_task_result
|
||||
until: cni_task_result.rc == 0
|
||||
retries: 4
|
||||
@@ -50,7 +50,7 @@
|
||||
tags: [hyperkube, upgrade]
|
||||
|
||||
- name: Calico | Copy cni plugins from calico/cni container
|
||||
command: "/usr/bin/docker run --rm -v /opt/cni/bin:/cnibindir {{ calico_cni_image_repo }}:{{ calico_cni_image_tag }} sh -c 'cp -a /opt/cni/bin/* /cnibindir/'"
|
||||
command: "{{ docker_bin_dir }}/docker run --rm -v /opt/cni/bin:/cnibindir {{ calico_cni_image_repo }}:{{ calico_cni_image_tag }} sh -c 'cp -a /opt/cni/bin/* /cnibindir/'"
|
||||
register: cni_task_result
|
||||
until: cni_task_result.rc == 0
|
||||
retries: 4
|
||||
|
||||
@@ -5,8 +5,8 @@ Requires=docker.service
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/calico/calico.env
|
||||
ExecStartPre=-/usr/bin/docker rm -f calico-node
|
||||
ExecStart=/usr/bin/docker run --net=host --privileged \
|
||||
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} \
|
||||
@@ -24,12 +24,13 @@ ExecStart=/usr/bin/docker run --net=host --privileged \
|
||||
-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=-/usr/bin/docker stop calico-node
|
||||
ExecStop=-{{ docker_bin_dir }}/docker stop calico-node
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
#!/bin/bash
|
||||
/usr/bin/docker run -i --privileged --rm \
|
||||
{{ docker_bin_dir }}/docker run -i --privileged --rm \
|
||||
--net=host --pid=host \
|
||||
-e ETCD_ENDPOINTS={{ etcd_access_endpoint }} \
|
||||
-e ETCD_CA_CERT_FILE=/etc/calico/certs/ca_cert.crt \
|
||||
-e ETCD_CERT_FILE=/etc/calico/certs/cert.crt \
|
||||
-e ETCD_KEY_FILE=/etc/calico/certs/key.pem \
|
||||
-v /usr/bin/docker:/usr/bin/docker \
|
||||
-v {{ docker_bin_dir }}/docker:{{ docker_bin_dir }}/docker \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /var/run/calico:/var/run/calico \
|
||||
-v /etc/calico/certs:/etc/calico/certs:ro \
|
||||
--memory={{ calicoctl_memory_limit|regex_replace('Mi', 'M') }} --cpu-shares={{ calicoctl_cpu_limit|regex_replace('m', '') }} \
|
||||
{{ calicoctl_image_repo }}:{{ calicoctl_image_tag}} \
|
||||
$@
|
||||
|
||||
Reference in New Issue
Block a user