diff --git a/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2 b/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2
index 1d5d7d945f004408ee36e72620760158122b37e4..c62932506f16980ee713af9aa986453941ac4bce 100644
--- a/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2
+++ b/roles/kubernetes/node/templates/loadbalancer/haproxy.cfg.j2
@@ -21,13 +21,19 @@ defaults
 
 {% if loadbalancer_apiserver_healthcheck_port is defined -%}
 frontend healthz
-  bind *:{{ loadbalancer_apiserver_healthcheck_port }}
+  bind 0.0.0.0:{{ loadbalancer_apiserver_healthcheck_port }}
+  {% if enable_dual_stack_networks -%}
+  bind :::{{ loadbalancer_apiserver_healthcheck_port }}
+  {% endif -%}
   mode http
   monitor-uri /healthz
 {% endif %}
 
 frontend kube_api_frontend
   bind 127.0.0.1:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }}
+  {% if enable_dual_stack_networks -%}
+  bind [::1]:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }};
+  {% endif -%}
   mode tcp
   option tcplog
   default_backend kube_api_backend
diff --git a/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2 b/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2
index fd3e5746ce7aef232737ac0fd00d644f472dd055..07b93704238b3266ead360030632f19ed20dd21d 100644
--- a/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2
+++ b/roles/kubernetes/node/templates/loadbalancer/nginx.conf.j2
@@ -21,7 +21,7 @@ stream {
   server {
     listen        127.0.0.1:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }};
     {% if enable_dual_stack_networks -%}
-    listen        [::]:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }};
+    listen        [::1]:{{ loadbalancer_apiserver_port|default(kube_apiserver_port) }};
     {% endif -%}
     proxy_pass    kube_apiserver;
     proxy_timeout 10m;