diff --git a/roles/kubernetes/node/templates/kubelet-container.j2 b/roles/kubernetes/node/templates/kubelet-container.j2 index 22671b2c340c2433c7e0423569db65a5ecc29d4d..75e07ca27a35a9960d182eed37a1029dfd1f9117 100644 --- a/roles/kubernetes/node/templates/kubelet-container.j2 +++ b/roles/kubernetes/node/templates/kubelet-container.j2 @@ -24,6 +24,11 @@ -v /var/lib/kubelet:/var/lib/kubelet:shared \ -v /var/lib/cni:/var/lib/cni:shared \ -v /var/run:/var/run:rw \ + {# we can run into issues with double mounting /var/lib/kubelet #} + {# surely there's a better way to do this #} + {% if '/var/lib/kubelet' not in kubelet_flexvolumes_plugins_dir %} + -v {{ kubelet_flexvolumes_plugins_dir }}:{{ kubelet_flexvolumes_plugins_dir }}:rw \ + {% endif -%} -v {{kube_config_dir}}:{{kube_config_dir}}:ro \ -v /etc/os-release:/etc/os-release:ro \ {{ hyperkube_image_repo }}:{{ hyperkube_image_tag}} \ diff --git a/roles/kubernetes/node/templates/kubelet.docker.service.j2 b/roles/kubernetes/node/templates/kubelet.docker.service.j2 index bba1a5fc4b5824c042dabd32ec84ccab447423d5..c20cf797fabf3370a7b8c72f22ddafe498ca5a13 100644 --- a/roles/kubernetes/node/templates/kubelet.docker.service.j2 +++ b/roles/kubernetes/node/templates/kubelet.docker.service.j2 @@ -23,9 +23,7 @@ ExecStart={{ bin_dir }}/kubelet \ Restart=always RestartSec=10s ExecStartPre=-{{ docker_bin_dir }}/docker rm -f kubelet -{% if kubelet_flexvolumes_plugins_dir is defined %} ExecStartPre=-/bin/mkdir -p {{ kubelet_flexvolumes_plugins_dir }} -{% endif %} ExecReload={{ docker_bin_dir }}/docker restart kubelet diff --git a/roles/kubernetes/node/templates/kubelet.host.service.j2 b/roles/kubernetes/node/templates/kubelet.host.service.j2 index c7dad4e290c99fa6fd55d301099168c3ce6a0329..3584cfcf51e470b21b86ea11323c84ec759ce1f4 100644 --- a/roles/kubernetes/node/templates/kubelet.host.service.j2 +++ b/roles/kubernetes/node/templates/kubelet.host.service.j2 @@ -7,9 +7,7 @@ Wants=docker.socket [Service] User=root EnvironmentFile=-{{kube_config_dir}}/kubelet.env -{% if kubelet_flexvolumes_plugins_dir is defined %} ExecStartPre=-/bin/mkdir -p {{ kubelet_flexvolumes_plugins_dir }} -{% endif %} ExecStart={{ bin_dir }}/kubelet \ $KUBE_LOGTOSTDERR \ $KUBE_LOG_LEVEL \ diff --git a/roles/kubernetes/node/templates/kubelet.rkt.service.j2 b/roles/kubernetes/node/templates/kubelet.rkt.service.j2 index 4286d94708a246f5b917e0d425b6fb2083e060bc..283ce1ad9493f1395ba7a9951e08d1f004f60714 100644 --- a/roles/kubernetes/node/templates/kubelet.rkt.service.j2 +++ b/roles/kubernetes/node/templates/kubelet.rkt.service.j2 @@ -12,10 +12,7 @@ LimitNOFILE=40000 ExecStartPre=-/usr/bin/rkt rm --uuid-file=/var/run/kubelet.uuid ExecStartPre=-/bin/mkdir -p /var/lib/kubelet - -{% if kubelet_flexvolumes_plugins_dir is defined %} ExecStartPre=-/bin/mkdir -p {{ kubelet_flexvolumes_plugins_dir }} -{% endif %} EnvironmentFile={{kube_config_dir}}/kubelet.env # stage1-fly mounts /proc /sys /dev so no need to duplicate the mounts @@ -41,7 +38,9 @@ ExecStart=/usr/bin/rkt run \ --volume etc-cni,kind=host,source=/etc/cni,readOnly=true \ --volume opt-cni,kind=host,source=/opt/cni,readOnly=true \ --volume var-lib-cni,kind=host,source=/var/lib/cni,readOnly=false \ -{% if kubelet_flexvolumes_plugins_dir is defined %} +{# we can run into issues with double mounting /var/lib/kubelet #} +{# surely there's a better way to do this #} +{% if '/var/lib/kubelet' not in kubelet_flexvolumes_plugins_dir %} --volume flexvolumes,kind=host,source={{ kubelet_flexvolumes_plugins_dir }},readOnly=false \ {% endif %} {% if kubelet_load_modules == true %} @@ -65,7 +64,9 @@ ExecStart=/usr/bin/rkt run \ --mount volume=var-lib-kubelet,target=/var/lib/kubelet \ --mount volume=var-log,target=/var/log \ --mount volume=hosts,target=/etc/hosts \ -{% if kubelet_flexvolumes_plugins_dir is defined %} +{# we can run into issues with double mounting /var/lib/kubelet #} +{# surely there's a better way to do this #} +{% if '/var/lib/kubelet' not in kubelet_flexvolumes_plugins_dir %} --mount volume=flexvolumes,target={{ kubelet_flexvolumes_plugins_dir }} \ {% endif %} --stage1-from-dir=stage1-fly.aci \ diff --git a/roles/kubernetes/node/templates/kubelet.standard.env.j2 b/roles/kubernetes/node/templates/kubelet.standard.env.j2 index e9d7e960f9ec753252e73d913d6960a0b3aaa24a..31a72f518d8b1013f15177ff89c4d6dc49c6a0ab 100644 --- a/roles/kubernetes/node/templates/kubelet.standard.env.j2 +++ b/roles/kubernetes/node/templates/kubelet.standard.env.j2 @@ -110,9 +110,7 @@ DOCKER_SOCKET="--docker-endpoint=unix:/var/run/weave/weave.sock" KUBELET_NETWORK_PLUGIN="--hairpin-mode=promiscuous-bridge --network-plugin=kubenet" {% endif %} -{% if kubelet_flexvolumes_plugins_dir is defined %} KUBELET_VOLUME_PLUGIN="--volume-plugin-dir={{ kubelet_flexvolumes_plugins_dir }}" -{% endif %} # Should this cluster be allowed to run privileged docker containers KUBE_ALLOW_PRIV="--allow-privileged=true"