diff --git a/roles/network_plugin/tasks/calico.yml b/roles/network_plugin/tasks/calico.yml
index 818dab709fdbc993abb50d6c2f381803979633ee..c507d66e17ed9b3c317656dfe755573170c32727 100644
--- a/roles/network_plugin/tasks/calico.yml
+++ b/roles/network_plugin/tasks/calico.yml
@@ -12,7 +12,7 @@
 - name: Calico | Configure calico-node desired pool
   shell: calicoctl pool add {{ kube_pods_subnet }}
   environment:
-     ETCD_AUTHORITY: "{{ groups['kube-master'][0] }}:2379"
+     ETCD_AUTHORITY: "{{ loadbalancer_address | default(groups['kube-master'][0]) }}:2379"
   run_once: true
 
 - name: Calico | Write calico-node systemd init file
diff --git a/roles/network_plugin/templates/network-environment.j2 b/roles/network_plugin/templates/network-environment.j2
index 2b89eb7e832afa97bd0adda4cf479953d130b93c..53ab5f15ae362bc26f08a5192e6fe15a6dd93b65 100755
--- a/roles/network_plugin/templates/network-environment.j2
+++ b/roles/network_plugin/templates/network-environment.j2
@@ -10,7 +10,7 @@ KUBERNETES_MASTER={{ groups['kube-master'][0] }}
 
 # Location of etcd cluster used by Calico.  By default, this uses the etcd
 # instance running on the Kubernetes Master
-ETCD_AUTHORITY={{ groups['kube-master'][0] }}:2379
+ETCD_AUTHORITY={{ loadbalancer_address | default(groups['kube-master'][0]) }}:2379
 
 # The kubernetes-apiserver location - used by the calico plugin
 KUBE_API_ROOT=http://{{ groups['kube-master'][0] }}:{{kube_apiserver_insecure_port}}/api/v1/