summaryrefslogtreecommitdiff
path: root/playbooks/k8s-emc.yaml
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2018-01-23 01:06:48 +0100
committerChristian Pointner <equinox@spreadspace.org>2018-01-23 01:06:48 +0100
commit25d599c49271741810d04a6151d38b9b9b9743b2 (patch)
tree762bfb4313bbc77b124157da6eb0627a62315ef6 /playbooks/k8s-emc.yaml
parentrename kube2016 to emc-stats (diff)
rename k8s-stream group to k8s-emc
Diffstat (limited to 'playbooks/k8s-emc.yaml')
-rw-r--r--playbooks/k8s-emc.yaml39
1 files changed, 39 insertions, 0 deletions
diff --git a/playbooks/k8s-emc.yaml b/playbooks/k8s-emc.yaml
new file mode 100644
index 00000000..17aa3510
--- /dev/null
+++ b/playbooks/k8s-emc.yaml
@@ -0,0 +1,39 @@
+---
+- name: prepare cluster config
+ hosts: k8s-emc
+ gather_facts: no
+ run_once: yes
+ tasks:
+ - name: configure node lists
+ set_fact:
+ kubernetes_nodes: "{{ groups['k8s-emc'] }}"
+ kubernetes_nodes_master: "{{ groups['k8s-emc-master'] | first }}"
+
+ - name: check if every node has a net_index assigned
+ debug:
+ msg: "nodes without net-index: {{ kubernetes_nodes | difference(kubernetes.net_index.keys()) | join(', ') }}"
+ failed_when: kubernetes_nodes | difference(kubernetes.net_index.keys()) | length > 0
+
+- name: install kubernetes and overlay network
+ hosts: k8s-emc
+ roles:
+ ## Since `base` has a dependency for docker it would install and start the daemon
+ ## without the docker daemon config file generated by `net`.
+ ## This means that the docker daemon will create a bridge and install iptables rules
+ ## upon first startup (the first time this playbook runs on a specific host).
+ ## Since it is a tedious task to remove the interface and the firewall rules it is much
+ ## easier to just run `net` before `base` as `net` does not need anything from `base`.
+ - role: kubernetes-net
+ - role: kubernetes-base
+
+- name: configure kubernetes master
+ hosts: k8s-emc-master
+ roles:
+ - role: kubernetes-master
+
+- name: configure kubernetes nodes
+ hosts: k8s-emc:!k8s-emc-master
+ roles:
+ - role: kubernetes-node
+
+## TODO: cleanup (remove superflous nodes and delete bootstrap token)