diff --git a/roles/kubernetes/node/templates/kubelet.rkt.service.j2 b/roles/kubernetes/node/templates/kubelet.rkt.service.j2
index 90d024d03791043ceda4308e4db097d3f9db1fbd..fd07db1e3d64d9b462c18dd74df3a1529764b5cf 100644
--- a/roles/kubernetes/node/templates/kubelet.rkt.service.j2
+++ b/roles/kubernetes/node/templates/kubelet.rkt.service.j2
@@ -15,6 +15,10 @@ ExecStartPre=-/bin/mkdir -p /var/lib/kubelet
 EnvironmentFile={{kube_config_dir}}/kubelet.env
 # stage1-fly mounts /proc /sys /dev so no need to duplicate the mounts
 ExecStart=/usr/bin/rkt run \
+{% if kubelet_load_modules == true %}
+        --volume modprobe,kind=host,source=/usr/sbin/modprobe \
+        --volume lib-modules,kind=host,source=/lib/modules \
+{% endif %}
         --volume os-release,kind=host,source=/etc/os-release,readOnly=true \
         --volume hosts,kind=host,source=/etc/hosts,readOnly=true \
         --volume dns,kind=host,source=/etc/resolv.conf \
@@ -35,6 +39,10 @@ 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_load_modules == true %}
+        --mount volume=modprobe,target=/usr/sbin/modprobe \
+        --mount volume=lib-modules,target=/lib/modules \
+{% endif %}
         --mount volume=etc-cni,target=/etc/cni \
         --mount volume=opt-cni,target=/opt/cni \
         --mount volume=var-lib-cni,target=/var/lib/cni \