diff --git a/roles/kubernetes/node/tasks/main.yml b/roles/kubernetes/node/tasks/main.yml
index 7f807ceeb47ed8601b12d9986fbd60c49fe40232..26081a1cf813c7a36d0d5f27c6f29650e7f34624 100644
--- a/roles/kubernetes/node/tasks/main.yml
+++ b/roles/kubernetes/node/tasks/main.yml
@@ -157,6 +157,20 @@
     - cloud-provider
     - facts
 
+- name: Write cacert file
+  copy:
+    src: "{{ openstack_cacert }}"
+    dest: "{{ kube_config_dir }}/openstack-cacert.pem"
+    group: "{{ kube_cert_group }}"
+    mode: 0640
+  when:
+    - inventory_hostname in groups['k8s-cluster']
+    - cloud_provider is defined
+    - cloud_provider in [ 'openstack', 'azure', 'vsphere' ]
+    - openstack_cacert is defined
+  tags:
+    - cloud-provider
+
 - name: Write cloud-config
   template:
     src: "{{ cloud_provider }}-cloud-config.j2"
diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml
index d749a941f558c31368e240a9ee2ece486eac9075..96cde3bb24fa6d4982e994d62e44f503518fd4af 100644
--- a/roles/kubernetes/preinstall/tasks/main.yml
+++ b/roles/kubernetes/preinstall/tasks/main.yml
@@ -72,17 +72,3 @@
     - ansible_distribution in ["CentOS","RedHat"]
   tags:
     - bootstrap-os
-
-- name: Write cacert file
-  copy:
-    content: "{{ openstack_cacert }}"
-    dest: "{{ kube_config_dir }}/openstack-cacert.pem"
-    group: "{{ kube_cert_group }}"
-    mode: 0640
-  when:
-    - inventory_hostname in groups['k8s-cluster']
-    - cloud_provider is defined
-    - cloud_provider in [ 'openstack', 'azure', 'vsphere' ]
-    - openstack_cacert is defined
-  tags:
-    - cloud-provider