diff --git a/roles/download/templates/kubeadm-images.yaml.j2 b/roles/download/templates/kubeadm-images.yaml.j2
index f15fe0fefb9c6bb08ec27b66b07f83081d00be0a..2e0d9ef6115f4fe3f1d4b8393d21412228b02f05 100644
--- a/roles/download/templates/kubeadm-images.yaml.j2
+++ b/roles/download/templates/kubeadm-images.yaml.j2
@@ -1,3 +1,16 @@
+{% if kube_version is version('v1.12.0', '>=') %}
+apiVersion: kubeadm.k8s.io/v1beta1
+kind: InitConfiguration
+nodeRegistration:
+{% if container_manager == 'crio' %}
+  criSocket: /var/run/crio/crio.sock
+{% elif container_manager == 'rkt' %}
+  criSocket: /var/run/rkt.sock
+{% else %}
+  criSocket: /var/run/dockershim.sock
+{% endif %}
+---
+{% endif %}
 {% if kube_version is version('v1.11.0', '<') %}
 apiVersion: kubeadm.k8s.io/v1alpha1
 {% elif kube_version is version('v1.11.0', '>=') and kube_version is version('v1.12.0', '<') %}
@@ -14,3 +27,13 @@ kind: ClusterConfiguration
 {% endif %}
 imageRepository: {{ kube_image_repo }}
 kubernetesVersion: {{ kube_version }}
+{% if kube_version is version('v1.12.0', '<') %}
+nodeRegistration:
+{% if container_manager == 'crio' %}
+  criSocket: /var/run/crio/crio.sock
+{% elif container_manager == 'rkt' %}
+  criSocket: /var/run/rkt.sock
+{% else %}
+  criSocket: /var/run/dockershim.sock
+{% endif %}
+{% endif %}