From d0a653b0a5134a043083a8bbcad5f297aba471e7 Mon Sep 17 00:00:00 2001 From: Kellan Cummings Date: Fri, 3 May 2019 14:45:58 -0400 Subject: [PATCH] added flexvolume mount to kube-controller --- nodeup/pkg/model/kube_controller_manager.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nodeup/pkg/model/kube_controller_manager.go b/nodeup/pkg/model/kube_controller_manager.go index 711c37dc06..30a0281dc3 100644 --- a/nodeup/pkg/model/kube_controller_manager.go +++ b/nodeup/pkg/model/kube_controller_manager.go @@ -151,6 +151,16 @@ func (b *KubeControllerManagerBuilder) buildPod() (*v1.Pod, error) { }, } + volumePluginDir := b.Cluster.Spec.Kubelet.VolumePluginDirectory + + // Ensure the Volume Plugin dir is mounted on the same path as the host machine so DaemonSet deployment is possible + if volumePluginDir == "" { + volumePluginDir = "/usr/libexec/kubernetes/kubelet-plugins/volume/exec" + } else { + // If volume-plugin-dir flag is set in kubelet, match dir in kube-controller + flags = append(flags, "--flex-volume-plugin-dir="+volumePluginDir) + } + container := &v1.Container{ Name: "kube-controller-manager", Image: b.Cluster.Spec.KubeControllerManager.Image, @@ -195,6 +205,8 @@ func (b *KubeControllerManagerBuilder) buildPod() (*v1.Pod, error) { addHostPathMapping(pod, container, "logfile", "/var/log/kube-controller-manager.log").ReadOnly = false addHostPathMapping(pod, container, "varlibkcm", "/var/lib/kube-controller-manager") + addHostPathMapping(pod, container, "volplugins", volumePluginDir).ReadOnly = false + pod.Spec.Containers = append(pod.Spec.Containers, *container) kubemanifest.MarkPodAsCritical(pod)