diff --git a/roles/kubernetes/master/handlers/main.yml b/roles/kubernetes/master/handlers/main.yml
index b9920edb93e56250c087adba517e9ecdb0790a9b..577b433b5361d6b46db0ae1602396ede7741dbc9 100644
--- a/roles/kubernetes/master/handlers/main.yml
+++ b/roles/kubernetes/master/handlers/main.yml
@@ -92,8 +92,10 @@
   when: container_manager in ['containerd', 'crio']
 
 - name: Master | wait for kube-scheduler
+  vars:
+    endpoint: "{{ kube_scheduler_bind_address if kube_scheduler_bind_address != '0.0.0.0' else 'localhost' }}"
   uri:
-    url: https://localhost:10259/healthz
+    url: https://{{ endpoint }}:10259/healthz
     validate_certs: no
   register: scheduler_result
   until: scheduler_result.status == 200
@@ -101,8 +103,10 @@
   delay: 1
 
 - name: Master | wait for kube-controller-manager
+  vars:
+    endpoint: "{{ kube_controller_manager_bind_address if kube_controller_manager_bind_address != '0.0.0.0' else 'localhost' }}"
   uri:
-    url: https://localhost:10257/healthz
+    url: https://{{ endpoint }}:10257/healthz
     validate_certs: no
   register: controller_manager_result
   until: controller_manager_result.status == 200