diff --git a/roles/kubernetes/master/tasks/kubeadm-upgrade.yml b/roles/kubernetes/master/tasks/kubeadm-upgrade.yml
index ec9b8cf0d8f893b94a84ab806dc4eefb0bcb535e..d8a80cd02a3de5f1d54efe9458b0b7bf8619bd3f 100644
--- a/roles/kubernetes/master/tasks/kubeadm-upgrade.yml
+++ b/roles/kubernetes/master/tasks/kubeadm-upgrade.yml
@@ -49,8 +49,8 @@
   retries: 6
   delay: 5
   until: scale_down_coredns is succeeded
+  run_once: yes
   when:
-    - inventory_hostname == groups['kube-master']|first
     - kubeadm_scale_down_coredns_enabled
     - dns_mode not in ['coredns', 'coredns_dual']
   changed_when: false