diff --git a/roles/kubernetes/preinstall/tasks/0040-set_facts.yml b/roles/kubernetes/preinstall/tasks/0040-set_facts.yml
index 08deb1c869295575540fecdfe62e3a53761802a5..3ae8412bafc40de682adcd84b01a67d684c21326 100644
--- a/roles/kubernetes/preinstall/tasks/0040-set_facts.yml
+++ b/roles/kubernetes/preinstall/tasks/0040-set_facts.yml
@@ -75,6 +75,16 @@
 
   when: resolvconf_stat.stat.exists is defined and resolvconf_stat.stat.exists
 
+- name: Stop if /etc/resolv.conf not configured nameservers
+  assert:
+    that: configured_nameservers|length>0
+    fail_msg: "nameserver should not empty in /etc/resolv.conf"
+  when:
+    - not ignore_assert_errors
+    - configured_nameservers is defined
+    - not (upstream_dns_servers is defined and upstream_dns_servers|length > 0)
+    - not (disable_host_nameservers | default(false))
+
 - name: NetworkManager | Check if host has NetworkManager
   # noqa 303 Should we use service_facts for this?
   command: systemctl is-active --quiet NetworkManager.service