diff --git a/README.md b/README.md
index c0f380039e108ab6ddac65d5dcf08a0595fa8cae..89c4771c7b2d00b12dba1992f7f576ecee5cb3d3 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ kube-master
 
 Run the playbook
 ```
-ansible-playbook -i environments/production/inventory cluster.yml -u root
+ansible-playbook -i environments/test/inventory cluster.yml -u root
 ```
 
 You can jump directly to "*Available apps, installation procedure*"
@@ -59,7 +59,7 @@ Ansible
 ### Download binaries
 A role allows to download required binaries. They will be stored in a directory defined by the variable
 **'local_release_dir'** (by default /tmp).
-Please ensure that you have enough disk space there (about **1G**).
+Please ensure that you have enough disk space there (about **300M**).
 
 **Note**: Whenever you'll need to change the version of a software, you'll have to erase the content of this directory.
 
@@ -106,14 +106,6 @@ In node-mesh mode the nodes peers with all the nodes in order to exchange routes
 [k8s-cluster:children]
 kube-node
 kube-master
-
-[paris:vars]
-peers=[{"router_id": "10.99.0.2", "as": "65xxx"}, {"router_id": "10.99.0.3", "as": "65xxx"}]
-loadbalancer_address="10.99.0.24"
-
-[usa:vars]
-peers=[{"router_id": "10.99.0.34", "as": "65xxx"}, {"router_id": "10.99.0.35", "as": "65xxx"}]
-loadbalancer_address="10.99.0.44"
 ```
 
 ### Playbook
@@ -124,13 +116,9 @@ loadbalancer_address="10.99.0.44"
   roles:
     - { role: download, tags: download }
 
-# etcd must be running on master(s) before going on
-- hosts: etcd
-  roles:
-    - { role: etcd, tags: etcd }
-
 - hosts: k8s-cluster
   roles:
+    - { role: etcd, tags: etcd }
     - { role: docker, tags: docker }
     - { role: dnsmasq, tags: dnsmasq }
     - { role: network_plugin, tags: ['calico', 'flannel', 'network'] }
@@ -161,6 +149,9 @@ the server address has to be present on both groups 'kube-master' and 'kube-node
 * Almost all kubernetes components are running into pods except *kubelet*. These pods are managed by kubelet which ensure they're always running
 
 * One etcd cluster member per node will be configured. For safety reasons, you should have at least two master nodes.
+
+* Kube-proxy doesn't support multiple apiservers on startup ([#18174]('https://github.com/kubernetes/kubernetes/issues/18174')). An external loadbalancer needs to be configured.
+In order to do so, some variables have to be used '**loadbalancer_apiserver**' and '**apiserver_loadbalancer_domain_name**' 
  
 
 ### Network Overlay
diff --git a/environments/test/group_vars/all.yml b/environments/test/group_vars/all.yml
index 35ae21a0ac7cb64fbf9d6e8f09fac1e0c7839fb9..41c87a57d87851a9b18a36b08e0e786b9bf01e74 100644
--- a/environments/test/group_vars/all.yml
+++ b/environments/test/group_vars/all.yml
@@ -73,8 +73,8 @@ dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(253)|ipaddr('address
 # For multi masters architecture:
 # kube-proxy doesn't support multiple apiservers for the time being so you'll need to configure your own loadbalancer
 # This domain name will be inserted into the /etc/hosts file of all servers
-# configurationexample with haproxy :
-# lissten kubernetes-apiserver-https
+# configuration example with haproxy :
+# listen kubernetes-apiserver-https
 #   bind 10.99.0.21:8383
 #    option ssl-hello-chk
 #    mode tcp
@@ -83,4 +83,4 @@ dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(253)|ipaddr('address
 #    server master1 10.99.0.26:443
 #    server master2 10.99.0.27:443
 #    balance roundrobin
-apiserver_loadbalancer_domain_name: "lb-apiserver.kubernetes.local"
+# apiserver_loadbalancer_domain_name: "lb-apiserver.kubernetes.local"
diff --git a/environments/test/group_vars/new-york.yml b/environments/test/group_vars/new-york.yml
index 5b51961db97b70af96c06c9a13c2b01d9837cfde..ce9d953963b9f6ee28ab21164ae582b6c3979232 100644
--- a/environments/test/group_vars/new-york.yml
+++ b/environments/test/group_vars/new-york.yml
@@ -1,10 +1,10 @@
----
-peers:
-  -router_id: "10.99.0.34"
-   as: "65xxx"
-  - router_id: "10.99.0.35"
-   as: "65xxx"
-
-loadbalancer_apiserver:
-  address: "10.99.0.44"
-  port: "8383"
+#---
+#peers:
+#  -router_id: "10.99.0.34"
+#   as: "65xxx"
+#  - router_id: "10.99.0.35"
+#   as: "65xxx"
+#
+#loadbalancer_apiserver:
+#  address: "10.99.0.44"
+#  port: "8383"
diff --git a/environments/test/group_vars/paris.yml b/environments/test/group_vars/paris.yml
index 052200ba6cab7a1aa81391e8981c0d8728804ae9..e8b34ae0d24bf78101a596a8990089b9d80dfcb0 100644
--- a/environments/test/group_vars/paris.yml
+++ b/environments/test/group_vars/paris.yml
@@ -1,10 +1,10 @@
----
-peers:
-  -router_id: "10.99.0.2"
-   as: "65xxx"
-  - router_id: "10.99.0.3"
-   as: "65xxx"
-
-loadbalancer_apiserver:
-  address: "10.99.0.21"
-  port: "8383"
+#---
+#peers:
+#  -router_id: "10.99.0.2"
+#   as: "65xxx"
+#  - router_id: "10.99.0.3"
+#   as: "65xxx"
+#
+#loadbalancer_apiserver:
+#  address: "10.99.0.21"
+#  port: "8383"
diff --git a/roles/dnsmasq/tasks/main.yml b/roles/dnsmasq/tasks/main.yml
index 87c0561677e9933aec6e33d2a33fa3ca8d372a6c..b3585f47a4bf4223aeccf81ab90b0379f804713f 100644
--- a/roles/dnsmasq/tasks/main.yml
+++ b/roles/dnsmasq/tasks/main.yml
@@ -14,7 +14,7 @@
     regexp: ".*{{ apiserver_loadbalancer_domain_name }}$"
     line: "{{ loadbalancer_apiserver.address }} lb-apiserver.kubernetes.local"
     state: present
-  when: loadbalancer_apiserver is defined
+  when: loadbalancer_apiserver is defined and apiserver_loadbalancer_domain_name is defined
 
 - name: clean hosts file
   lineinfile:
diff --git a/roles/kubernetes/node/templates/manifests/kube-proxy.manifest.j2 b/roles/kubernetes/node/templates/manifests/kube-proxy.manifest.j2
index f62bdb71125f2ca17eb4d6b34b65f931c4528ab4..8b7ee708e2c61ec7c875e810da2bb07245b69bb1 100644
--- a/roles/kubernetes/node/templates/manifests/kube-proxy.manifest.j2
+++ b/roles/kubernetes/node/templates/manifests/kube-proxy.manifest.j2
@@ -15,7 +15,7 @@ spec:
 {% if inventory_hostname in groups['kube-master'] %}
     - --master=http://127.0.0.1:{{kube_apiserver_insecure_port}}
 {% else %}
-{%   if loadbalancer_apiserver.address is defined | default('') %}
+{%   if loadbalancer_apiserver is defined and apiserver_loadbalancer_domain_name is defined %}
     - --master=https://{{ apiserver_loadbalancer_domain_name }}:{{ loadbalancer_apiserver.port }}
 {%   else %}
     - --master=https://{{ groups['kube-master'][0] }}:{{ kube_apiserver_port }}
diff --git a/roles/kubernetes/node/templates/openssl.conf.j2 b/roles/kubernetes/node/templates/openssl.conf.j2
index 3715d97b8db54d671b8a19f53f364e9745edd7aa..c594e333782d7d0cbb22cd50fb16b36a626805e1 100644
--- a/roles/kubernetes/node/templates/openssl.conf.j2
+++ b/roles/kubernetes/node/templates/openssl.conf.j2
@@ -10,7 +10,9 @@ subjectAltName = @alt_names
 DNS.1 = kubernetes
 DNS.2 = kubernetes.default
 DNS.3 = kubernetes.default.svc.{{ dns_domain }}
+{% if loadbalancer_apiserver is defined  and apiserver_loadbalancer_domain_name is defined %}
 DNS.4 = {{ apiserver_loadbalancer_domain_name }}
+{% endif %}
 {% for host in groups['kube-master'] %}
 IP.{{ loop.index }} = {{ hostvars[host]['ip'] | default(hostvars[host]['ansible_default_ipv4']['address']) }}
 {% endfor %}