Repository: kubermatic/machine-controller
Pull request #746 (2020-04-27 09:03:03)

Add --volume-plugin-dir kubelet flag
Default plugin dir "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"
is not writable on coreos/flatcat. So we use other well known location
`/var/lib/kubelet/volumeplugins`

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Optional Release Note**:
<!--
Write your release note:
1. Enter your extended release note in the below block. If the PR requires additional action from users switching to the new release, include the string "action required".
2. If no release note is required, just write "NONE".
-->
```release-note
always set --volume-plugin-dir=/var/lib/kubelet/volumeplugins
```


kubermatic-bot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubermatic/machine-controller/pull/746#" title="Author self-approved">kron4eg</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubermatic%2Fmachine-controller).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/kubermatic/machine-controller/blob/master/OWNERS)~~ [kron4eg]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
kubermatic-bot: @kron4eg: The following test **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-verify-boilerplate | df0b4eb294e5a6d17c4df63e7405122c6826f994 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-verify-boilerplate/1254697623554625536) | `/test pull-machine-controller-verify-boilerplate`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=746)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @kron4eg: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-verify-boilerplate | df0b4eb294e5a6d17c4df63e7405122c6826f994 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-verify-boilerplate/1254697623554625536) | `/test pull-machine-controller-verify-boilerplate`
pull-machine-controller-e2e-vsphere | df0b4eb294e5a6d17c4df63e7405122c6826f994 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere/1254697623546236930) | `/test pull-machine-controller-e2e-vsphere`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=746)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: LGTM label has been added.  <details>Git tree hash: 2efcfb086deb8fce545992413ac8afce30b18713</details>
kubermatic-bot: @kron4eg: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | df0b4eb294e5a6d17c4df63e7405122c6826f994 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere/1254697623546236930) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-vsphere-resource-pool | f4db2ca7b9899637771587dc98b5b2db9c250ac0 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere-resource-pool/1254713478636113920) | `/test pull-machine-controller-e2e-vsphere-resource-pool`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=746)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @kron4eg: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | f4db2ca7b9899637771587dc98b5b2db9c250ac0 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere-resource-pool/1254713478636113920) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | f4db2ca7b9899637771587dc98b5b2db9c250ac0 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere/1254713478627725313) | `/test pull-machine-controller-e2e-vsphere`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=746)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kron4eg: /retest
kubermatic-bot: @kron4eg: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere | f4db2ca7b9899637771587dc98b5b2db9c250ac0 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere/1254713478627725313) | `/test pull-machine-controller-e2e-vsphere`
pull-machine-controller-e2e-vsphere-resource-pool | f4db2ca7b9899637771587dc98b5b2db9c250ac0 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere-resource-pool/1254721028010020864) | `/test pull-machine-controller-e2e-vsphere-resource-pool`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=746)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
kubermatic-bot: @kron4eg: The following tests **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-machine-controller-e2e-vsphere-resource-pool | f4db2ca7b9899637771587dc98b5b2db9c250ac0 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere-resource-pool/1254721028010020864) | `/test pull-machine-controller-e2e-vsphere-resource-pool`
pull-machine-controller-e2e-vsphere | f4db2ca7b9899637771587dc98b5b2db9c250ac0 | [link](https://public-prow.loodse.com/view/gcs/prow-dev-public-data/pr-logs/pull/kubermatic_machine-controller/746/pull-machine-controller-e2e-vsphere/1254721028010020865) | `/test pull-machine-controller-e2e-vsphere`

[Full PR test history](https://public-prow.loodse.com/pr-history?org=kubermatic&repo=machine-controller&pr=746)

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
moadqassem: /test pull-machine-controller-e2e-aws-sles 
kron4eg: /override pull-machine-controller-e2e-vsphere
/override pull-machine-controller-e2e-vsphere-resource-pool 
kubermatic-bot: @kron4eg: kron4eg unauthorized: /override is restricted to Repo administrators.

<details>

In response to [this](https://github.com/kubermatic/machine-controller/pull/746#issuecomment-619924963):

>/override pull-machine-controller-e2e-vsphere
>/override pull-machine-controller-e2e-vsphere-resource-pool 


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>
xrstf: I disagree with overriding, but because our vSphere is currently down and people cannot wait for this and I am super super sure that someone(tm) will later test that this does not break vSphere support

/override pull-machine-controller-e2e-vsphere
/override pull-machine-controller-e2e-vsphere-resource-pool
kubermatic-bot: @xrstf: Overrode contexts on behalf of xrstf: pull-machine-controller-e2e-vsphere, pull-machine-controller-e2e-vsphere-resource-pool

<details>

In response to [this](https://github.com/kubermatic/machine-controller/pull/746#issuecomment-619929504):

>I disagree with overriding, but because our vSphere is currently down and people cannot wait for this and I am super super sure that someone(tm) will later test that this does not break vSphere support
>
>/override pull-machine-controller-e2e-vsphere
>/override pull-machine-controller-e2e-vsphere-resource-pool


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>
moadqassem: /lgtm
/unhold

Patch:
diff --git a/pkg/userdata/helper/kubelet.go b/pkg/userdata/helper/kubelet.go
index 032b6f82..fdb2ca0d 100644
--- a/pkg/userdata/helper/kubelet.go
+++ b/pkg/userdata/helper/kubelet.go
@@ -59,6 +59,7 @@ const (
 {{- if .InitialTaints }}
 --register-with-taints={{- .InitialTaints }} \
 {{- end }}
+--volume-plugin-dir=/var/lib/kubelet/volumeplugins \
 --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
 --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi`
 


Test patch:
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.10-aws.yaml b/pkg/userdata/centos/testdata/kubelet-v1.10-aws.yaml
index 95fb7f5b..598c09fc 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.10-aws.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.10-aws.yaml
@@ -149,6 +149,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.11-aws.yaml b/pkg/userdata/centos/testdata/kubelet-v1.11-aws.yaml
index 8da69ad0..d445959a 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.11-aws.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.11-aws.yaml
@@ -149,6 +149,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.12-aws-external.yaml b/pkg/userdata/centos/testdata/kubelet-v1.12-aws-external.yaml
index f3c628fc..d31eb1ef 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.12-aws-external.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.12-aws-external.yaml
@@ -147,6 +147,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.12-aws.yaml b/pkg/userdata/centos/testdata/kubelet-v1.12-aws.yaml
index 13ab4997..2dd21b1f 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.12-aws.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.12-aws.yaml
@@ -148,6 +148,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-mirrors.yaml b/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-mirrors.yaml
index 059d4ac8..33db99ff 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-mirrors.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-mirrors.yaml
@@ -165,6 +165,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-proxy.yaml b/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-proxy.yaml
index 873460d7..98fda8be 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-proxy.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere-proxy.yaml
@@ -165,6 +165,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere.yaml b/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere.yaml
index 2bcdd92b..db1c901d 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.12-vsphere.yaml
@@ -156,6 +156,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/centos/testdata/kubelet-v1.9-aws.yaml b/pkg/userdata/centos/testdata/kubelet-v1.9-aws.yaml
index 35b4578c..1abb6af2 100644
--- a/pkg/userdata/centos/testdata/kubelet-v1.9-aws.yaml
+++ b/pkg/userdata/centos/testdata/kubelet-v1.9-aws.yaml
@@ -149,6 +149,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/coreos/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml b/pkg/userdata/coreos/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml
index aa5d110e..db632cae 100644
--- a/pkg/userdata/coreos/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml
+++ b/pkg/userdata/coreos/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml
@@ -114,6 +114,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml b/pkg/userdata/coreos/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml
index 973a7f4e..ae5a5879 100644
--- a/pkg/userdata/coreos/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml
+++ b/pkg/userdata/coreos/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml
@@ -114,6 +114,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.11.2-vsphere-static-ipconfig.yaml b/pkg/userdata/coreos/testdata/v1.11.2-vsphere-static-ipconfig.yaml
index 6f2f075f..85951602 100644
--- a/pkg/userdata/coreos/testdata/v1.11.2-vsphere-static-ipconfig.yaml
+++ b/pkg/userdata/coreos/testdata/v1.11.2-vsphere-static-ipconfig.yaml
@@ -134,6 +134,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.12.0-vsphere-mirrors.yaml b/pkg/userdata/coreos/testdata/v1.12.0-vsphere-mirrors.yaml
index c42776f1..44d75e28 100644
--- a/pkg/userdata/coreos/testdata/v1.12.0-vsphere-mirrors.yaml
+++ b/pkg/userdata/coreos/testdata/v1.12.0-vsphere-mirrors.yaml
@@ -140,6 +140,7 @@ systemd:
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
           --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml b/pkg/userdata/coreos/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml
index ad95ba02..a5230ede 100644
--- a/pkg/userdata/coreos/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml
+++ b/pkg/userdata/coreos/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml
@@ -133,6 +133,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.12.0-vsphere-proxy.yaml b/pkg/userdata/coreos/testdata/v1.12.0-vsphere-proxy.yaml
index ad524738..1d1e95c1 100644
--- a/pkg/userdata/coreos/testdata/v1.12.0-vsphere-proxy.yaml
+++ b/pkg/userdata/coreos/testdata/v1.12.0-vsphere-proxy.yaml
@@ -140,6 +140,7 @@ systemd:
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
           --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.15.0-vsphere.yaml b/pkg/userdata/coreos/testdata/v1.15.0-vsphere.yaml
index 298e1479..e7d40307 100644
--- a/pkg/userdata/coreos/testdata/v1.15.0-vsphere.yaml
+++ b/pkg/userdata/coreos/testdata/v1.15.0-vsphere.yaml
@@ -110,6 +110,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.17.0.yaml b/pkg/userdata/coreos/testdata/v1.17.0.yaml
index c6106e7f..9c7ba7cc 100644
--- a/pkg/userdata/coreos/testdata/v1.17.0.yaml
+++ b/pkg/userdata/coreos/testdata/v1.17.0.yaml
@@ -133,6 +133,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws-external.yaml b/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws-external.yaml
index 872a2f9a..26ebcac9 100644
--- a/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws-external.yaml
+++ b/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws-external.yaml
@@ -116,6 +116,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws.yaml b/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws.yaml
index 7301d714..861e75bf 100644
--- a/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws.yaml
+++ b/pkg/userdata/coreos/testdata/v1.9.2-disable-auto-update-aws.yaml
@@ -117,6 +117,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.9.2-disable-locksmith-aws.yaml b/pkg/userdata/coreos/testdata/v1.9.2-disable-locksmith-aws.yaml
index 1fdae003..2e968bdb 100644
--- a/pkg/userdata/coreos/testdata/v1.9.2-disable-locksmith-aws.yaml
+++ b/pkg/userdata/coreos/testdata/v1.9.2-disable-locksmith-aws.yaml
@@ -115,6 +115,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/coreos/testdata/v1.9.2-disable-update-engine-aws.yaml b/pkg/userdata/coreos/testdata/v1.9.2-disable-update-engine-aws.yaml
index 8645a924..0a218013 100644
--- a/pkg/userdata/coreos/testdata/v1.9.2-disable-update-engine-aws.yaml
+++ b/pkg/userdata/coreos/testdata/v1.9.2-disable-update-engine-aws.yaml
@@ -115,6 +115,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml b/pkg/userdata/flatcar/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml
index c1926de9..72ab05ff 100644
--- a/pkg/userdata/flatcar/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml
+++ b/pkg/userdata/flatcar/testdata/auto-update-openstack-kubelet-v-version-prefix.yaml
@@ -114,6 +114,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml b/pkg/userdata/flatcar/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml
index 3c9f19a0..8b6c2986 100644
--- a/pkg/userdata/flatcar/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.10.3-auto-update-openstack-multiple-dns.yaml
@@ -114,6 +114,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.11.2-vsphere-static-ipconfig.yaml b/pkg/userdata/flatcar/testdata/v1.11.2-vsphere-static-ipconfig.yaml
index 606d6bc9..26442e53 100644
--- a/pkg/userdata/flatcar/testdata/v1.11.2-vsphere-static-ipconfig.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.11.2-vsphere-static-ipconfig.yaml
@@ -134,6 +134,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-mirrors.yaml b/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-mirrors.yaml
index ce74e246..abba53f1 100644
--- a/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-mirrors.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-mirrors.yaml
@@ -140,6 +140,7 @@ systemd:
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
           --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml b/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml
index 7b8c9f06..7ac46c62 100644
--- a/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-overwrite-cloudconfig.yaml
@@ -133,6 +133,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-proxy.yaml b/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-proxy.yaml
index b416c2ce..bdb51aa5 100644
--- a/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-proxy.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.12.0-vsphere-proxy.yaml
@@ -140,6 +140,7 @@ systemd:
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
           --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.15.0-vsphere.yaml b/pkg/userdata/flatcar/testdata/v1.15.0-vsphere.yaml
index 3f71ba2d..9e06ee29 100644
--- a/pkg/userdata/flatcar/testdata/v1.15.0-vsphere.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.15.0-vsphere.yaml
@@ -110,6 +110,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.17.0.yaml b/pkg/userdata/flatcar/testdata/v1.17.0.yaml
index 5bca5e33..b39452ce 100644
--- a/pkg/userdata/flatcar/testdata/v1.17.0.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.17.0.yaml
@@ -133,6 +133,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws-external.yaml b/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws-external.yaml
index aea24447..b27cebfd 100644
--- a/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws-external.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws-external.yaml
@@ -116,6 +116,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws.yaml b/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws.yaml
index 9528f047..62ef0fa0 100644
--- a/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.9.2-disable-auto-update-aws.yaml
@@ -117,6 +117,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.9.2-disable-locksmith-aws.yaml b/pkg/userdata/flatcar/testdata/v1.9.2-disable-locksmith-aws.yaml
index f9002d4d..0a51ea1a 100644
--- a/pkg/userdata/flatcar/testdata/v1.9.2-disable-locksmith-aws.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.9.2-disable-locksmith-aws.yaml
@@ -115,6 +115,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/flatcar/testdata/v1.9.2-disable-update-engine-aws.yaml b/pkg/userdata/flatcar/testdata/v1.9.2-disable-update-engine-aws.yaml
index 5463dc3a..b1d1c474 100644
--- a/pkg/userdata/flatcar/testdata/v1.9.2-disable-update-engine-aws.yaml
+++ b/pkg/userdata/flatcar/testdata/v1.9.2-disable-update-engine-aws.yaml
@@ -115,6 +115,7 @@ systemd:
           --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
           --exit-on-lock-contention \
           --lock-file=/tmp/kubelet.lock \
+          --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
           --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
           --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
         ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_cloud-provider-set.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_cloud-provider-set.golden
index fe374638..e65b0073 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_cloud-provider-set.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_cloud-provider-set.golden
@@ -31,6 +31,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_multiple-dns-servers.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_multiple-dns-servers.golden
index e270285d..b190a06f 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_multiple-dns-servers.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_multiple-dns-servers.golden
@@ -30,6 +30,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_pause-image-set.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_pause-image-set.golden
index f26433da..295cf902 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_pause-image-set.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_pause-image-set.golden
@@ -31,6 +31,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
   --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_taints-set.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_taints-set.golden
index 88272f55..c78ace83 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_taints-set.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_taints-set.golden
@@ -31,6 +31,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
   --register-with-taints=key1=value1:NoSchedule,key2=value2:NoExecute \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0-external.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0-external.golden
index 15bbce9d..6d2aa1a0 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0-external.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0-external.golden
@@ -31,6 +31,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0.golden
index e270285d..b190a06f 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.10.0.golden
@@ -30,6 +30,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-external.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-external.golden
index 15bbce9d..6d2aa1a0 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-external.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-external.golden
@@ -31,6 +31,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2-external.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2-external.golden
index 15bbce9d..6d2aa1a0 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2-external.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2-external.golden
@@ -31,6 +31,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2.golden
index e270285d..b190a06f 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0-rc.2.golden
@@ -30,6 +30,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0.golden
index e270285d..b190a06f 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.0.golden
@@ -30,6 +30,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3-external.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3-external.golden
index 15bbce9d..6d2aa1a0 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3-external.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3-external.golden
@@ -31,6 +31,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3.golden
index e270285d..b190a06f 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.11.3.golden
@@ -30,6 +30,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0-external.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0-external.golden
index 137bc732..1d8a995f 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0-external.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0-external.golden
@@ -30,6 +30,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0.golden b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0.golden
index 55bdfc13..98ac93e3 100644
--- a/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0.golden
+++ b/pkg/userdata/helper/testdata/kublet_systemd_unit_version-v1.12.0.golden
@@ -29,6 +29,7 @@ ExecStart=/opt/bin/kubelet $KUBELET_EXTRA_ARGS \
   --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
   --exit-on-lock-contention \
   --lock-file=/tmp/kubelet.lock \
+  --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
   --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
   --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.10-aws.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.10-aws.yaml
index af1554a5..7b5d78c1 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.10-aws.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.10-aws.yaml
@@ -154,6 +154,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.11-aws.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.11-aws.yaml
index f56d5ff8..9cfc3e68 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.11-aws.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.11-aws.yaml
@@ -154,6 +154,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.12-aws-external.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.12-aws-external.yaml
index fdf74e26..41d1b452 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.12-aws-external.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.12-aws-external.yaml
@@ -152,6 +152,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.12-aws.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.12-aws.yaml
index 6237ea92..454b21b9 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.12-aws.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.12-aws.yaml
@@ -153,6 +153,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-mirrors.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-mirrors.yaml
index 0339fec5..763d4346 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-mirrors.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-mirrors.yaml
@@ -170,6 +170,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-proxy.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-proxy.yaml
index edefc526..8dde9302 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-proxy.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere-proxy.yaml
@@ -170,6 +170,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere.yaml
index 1f30ef11..43fe14bf 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.12-vsphere.yaml
@@ -161,6 +161,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/rhel/testdata/kubelet-v1.9-aws.yaml b/pkg/userdata/rhel/testdata/kubelet-v1.9-aws.yaml
index 602cb2e9..06b59c21 100644
--- a/pkg/userdata/rhel/testdata/kubelet-v1.9-aws.yaml
+++ b/pkg/userdata/rhel/testdata/kubelet-v1.9-aws.yaml
@@ -154,6 +154,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/dist-upgrade-on-boot.yaml b/pkg/userdata/sles/testdata/dist-upgrade-on-boot.yaml
index df2a98f9..76d4a207 100644
--- a/pkg/userdata/sles/testdata/dist-upgrade-on-boot.yaml
+++ b/pkg/userdata/sles/testdata/dist-upgrade-on-boot.yaml
@@ -134,6 +134,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/kubelet-version-without-v-prefix.yaml b/pkg/userdata/sles/testdata/kubelet-version-without-v-prefix.yaml
index 3f3e1867..2f35b183 100644
--- a/pkg/userdata/sles/testdata/kubelet-version-without-v-prefix.yaml
+++ b/pkg/userdata/sles/testdata/kubelet-version-without-v-prefix.yaml
@@ -133,6 +133,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/multiple-dns-servers.yaml b/pkg/userdata/sles/testdata/multiple-dns-servers.yaml
index f66d3c05..872e82ab 100644
--- a/pkg/userdata/sles/testdata/multiple-dns-servers.yaml
+++ b/pkg/userdata/sles/testdata/multiple-dns-servers.yaml
@@ -133,6 +133,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/multiple-ssh-keys.yaml b/pkg/userdata/sles/testdata/multiple-ssh-keys.yaml
index 2713bd37..371e8114 100644
--- a/pkg/userdata/sles/testdata/multiple-ssh-keys.yaml
+++ b/pkg/userdata/sles/testdata/multiple-ssh-keys.yaml
@@ -135,6 +135,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/openstack-overwrite-cloud-config.yaml b/pkg/userdata/sles/testdata/openstack-overwrite-cloud-config.yaml
index ab299575..e260c107 100644
--- a/pkg/userdata/sles/testdata/openstack-overwrite-cloud-config.yaml
+++ b/pkg/userdata/sles/testdata/openstack-overwrite-cloud-config.yaml
@@ -135,6 +135,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/openstack.yaml b/pkg/userdata/sles/testdata/openstack.yaml
index 91a47830..0a343956 100644
--- a/pkg/userdata/sles/testdata/openstack.yaml
+++ b/pkg/userdata/sles/testdata/openstack.yaml
@@ -135,6 +135,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/version-1.10.10.yaml b/pkg/userdata/sles/testdata/version-1.10.10.yaml
index 6d1c23c4..eabdda99 100644
--- a/pkg/userdata/sles/testdata/version-1.10.10.yaml
+++ b/pkg/userdata/sles/testdata/version-1.10.10.yaml
@@ -133,6 +133,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/version-1.11.3.yaml b/pkg/userdata/sles/testdata/version-1.11.3.yaml
index 3f3e1867..2f35b183 100644
--- a/pkg/userdata/sles/testdata/version-1.11.3.yaml
+++ b/pkg/userdata/sles/testdata/version-1.11.3.yaml
@@ -133,6 +133,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/version-1.12.1.yaml b/pkg/userdata/sles/testdata/version-1.12.1.yaml
index d1b1b4fb..0aba266b 100644
--- a/pkg/userdata/sles/testdata/version-1.12.1.yaml
+++ b/pkg/userdata/sles/testdata/version-1.12.1.yaml
@@ -132,6 +132,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/version-1.9.10.yaml b/pkg/userdata/sles/testdata/version-1.9.10.yaml
index 985f056b..78a6836d 100644
--- a/pkg/userdata/sles/testdata/version-1.9.10.yaml
+++ b/pkg/userdata/sles/testdata/version-1.9.10.yaml
@@ -133,6 +133,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/vsphere-mirrors.yaml b/pkg/userdata/sles/testdata/vsphere-mirrors.yaml
index 917d8209..fd9a9be4 100644
--- a/pkg/userdata/sles/testdata/vsphere-mirrors.yaml
+++ b/pkg/userdata/sles/testdata/vsphere-mirrors.yaml
@@ -146,6 +146,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/vsphere-proxy.yaml b/pkg/userdata/sles/testdata/vsphere-proxy.yaml
index 17b0f23a..e0ea57cc 100644
--- a/pkg/userdata/sles/testdata/vsphere-proxy.yaml
+++ b/pkg/userdata/sles/testdata/vsphere-proxy.yaml
@@ -146,6 +146,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/sles/testdata/vsphere.yaml b/pkg/userdata/sles/testdata/vsphere.yaml
index 4f025dab..4a94e84b 100644
--- a/pkg/userdata/sles/testdata/vsphere.yaml
+++ b/pkg/userdata/sles/testdata/vsphere.yaml
@@ -136,6 +136,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/dist-upgrade-on-boot.yaml b/pkg/userdata/ubuntu/testdata/dist-upgrade-on-boot.yaml
index 2b7a1fcb..57fb62e3 100644
--- a/pkg/userdata/ubuntu/testdata/dist-upgrade-on-boot.yaml
+++ b/pkg/userdata/ubuntu/testdata/dist-upgrade-on-boot.yaml
@@ -236,6 +236,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/kubelet-version-without-v-prefix.yaml b/pkg/userdata/ubuntu/testdata/kubelet-version-without-v-prefix.yaml
index 5d28ee33..d6d5ad86 100644
--- a/pkg/userdata/ubuntu/testdata/kubelet-version-without-v-prefix.yaml
+++ b/pkg/userdata/ubuntu/testdata/kubelet-version-without-v-prefix.yaml
@@ -235,6 +235,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/multiple-dns-servers.yaml b/pkg/userdata/ubuntu/testdata/multiple-dns-servers.yaml
index 09cfbbb7..49dc9cf4 100644
--- a/pkg/userdata/ubuntu/testdata/multiple-dns-servers.yaml
+++ b/pkg/userdata/ubuntu/testdata/multiple-dns-servers.yaml
@@ -235,6 +235,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/multiple-ssh-keys.yaml b/pkg/userdata/ubuntu/testdata/multiple-ssh-keys.yaml
index 5616d3bc..75471063 100644
--- a/pkg/userdata/ubuntu/testdata/multiple-ssh-keys.yaml
+++ b/pkg/userdata/ubuntu/testdata/multiple-ssh-keys.yaml
@@ -237,6 +237,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/openstack-overwrite-cloud-config.yaml b/pkg/userdata/ubuntu/testdata/openstack-overwrite-cloud-config.yaml
index 54376bd8..7bc02316 100644
--- a/pkg/userdata/ubuntu/testdata/openstack-overwrite-cloud-config.yaml
+++ b/pkg/userdata/ubuntu/testdata/openstack-overwrite-cloud-config.yaml
@@ -237,6 +237,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/openstack.yaml b/pkg/userdata/ubuntu/testdata/openstack.yaml
index 5f9dcb4a..e8fda838 100644
--- a/pkg/userdata/ubuntu/testdata/openstack.yaml
+++ b/pkg/userdata/ubuntu/testdata/openstack.yaml
@@ -237,6 +237,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/version-1.10.10.yaml b/pkg/userdata/ubuntu/testdata/version-1.10.10.yaml
index d509f0a0..98ff74e5 100644
--- a/pkg/userdata/ubuntu/testdata/version-1.10.10.yaml
+++ b/pkg/userdata/ubuntu/testdata/version-1.10.10.yaml
@@ -235,6 +235,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/version-1.11.3.yaml b/pkg/userdata/ubuntu/testdata/version-1.11.3.yaml
index 5d28ee33..d6d5ad86 100644
--- a/pkg/userdata/ubuntu/testdata/version-1.11.3.yaml
+++ b/pkg/userdata/ubuntu/testdata/version-1.11.3.yaml
@@ -235,6 +235,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/version-1.12.1.yaml b/pkg/userdata/ubuntu/testdata/version-1.12.1.yaml
index d0df8861..d1ac5d02 100644
--- a/pkg/userdata/ubuntu/testdata/version-1.12.1.yaml
+++ b/pkg/userdata/ubuntu/testdata/version-1.12.1.yaml
@@ -234,6 +234,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/version-1.9.10.yaml b/pkg/userdata/ubuntu/testdata/version-1.9.10.yaml
index 8dfd0f57..43d56599 100644
--- a/pkg/userdata/ubuntu/testdata/version-1.9.10.yaml
+++ b/pkg/userdata/ubuntu/testdata/version-1.9.10.yaml
@@ -235,6 +235,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/vsphere-mirrors.yaml b/pkg/userdata/ubuntu/testdata/vsphere-mirrors.yaml
index a70ae1a3..35a6feab 100644
--- a/pkg/userdata/ubuntu/testdata/vsphere-mirrors.yaml
+++ b/pkg/userdata/ubuntu/testdata/vsphere-mirrors.yaml
@@ -248,6 +248,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/vsphere-proxy.yaml b/pkg/userdata/ubuntu/testdata/vsphere-proxy.yaml
index 4b6b1dff..4dfccb55 100644
--- a/pkg/userdata/ubuntu/testdata/vsphere-proxy.yaml
+++ b/pkg/userdata/ubuntu/testdata/vsphere-proxy.yaml
@@ -248,6 +248,7 @@ write_files:
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
       --pod-infra-container-image=192.168.100.100:5000/kubernetes/pause:v3.1 \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi
 
diff --git a/pkg/userdata/ubuntu/testdata/vsphere.yaml b/pkg/userdata/ubuntu/testdata/vsphere.yaml
index 5f82c070..a378f0a7 100644
--- a/pkg/userdata/ubuntu/testdata/vsphere.yaml
+++ b/pkg/userdata/ubuntu/testdata/vsphere.yaml
@@ -238,6 +238,7 @@ write_files:
       --dynamic-config-dir /etc/kubernetes/dynamic-config-dir \
       --exit-on-lock-contention \
       --lock-file=/tmp/kubelet.lock \
+      --volume-plugin-dir=/var/lib/kubelet/volumeplugins \
       --kube-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi \
       --system-reserved=cpu=100m,memory=100Mi,ephemeral-storage=1Gi