diff --git a/cluster.yml b/cluster.yml
index 63ad7de5d15408407590647c75a5caf099369066..8e0792a2b94c52e5892babccefe6873547bf10bf 100644
--- a/cluster.yml
+++ b/cluster.yml
@@ -4,17 +4,21 @@
   roles:
     - { role: download, tags: download }
 
-- hosts: k8s-cluster
+# etcd must be running on master(s) before going on
+- hosts: kube-master
   roles:
     - { role: etcd, tags: etcd }
-    - { role: docker, tags: docker }
-    - { role: network_plugin, tags: ['calico', 'flannel', 'network'] }
-    - { role: dnsmasq, tags: dnsmasq }
 
-- hosts: kube-master
+- hosts: k8s-cluster
   roles:
-    - { role: kubernetes/master, tags: master }
+    - { role: docker, tags: docker }
+    - { role: dnsmasq, tags: dnsmasq }
+    - { role: network_plugin, tags: ['calico', 'flannel', 'network'] }
 
 - hosts: kube-node
   roles:
     - { role: kubernetes/node, tags: node }
+
+- hosts: kube-master
+  roles:
+    - { role: kubernetes/master, tags: master }