summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/kubernetes-cluster-layout.yml46
-rw-r--r--common/kubernetes-prepare.yml45
-rw-r--r--common/kubernetes.yml2
-rw-r--r--inventory/group_vars/k8s-test/main.yml4
-rw-r--r--spreadspace/k8s-test.yml5
5 files changed, 51 insertions, 51 deletions
diff --git a/common/kubernetes-cluster-layout.yml b/common/kubernetes-cluster-layout.yml
new file mode 100644
index 00000000..64856fc5
--- /dev/null
+++ b/common/kubernetes-cluster-layout.yml
@@ -0,0 +1,46 @@
+---
+- name: create host groups for kubernetes cluster
+ hosts: "{{ kubernetes_cluster_layout.nodes_group }}"
+ connection: local
+ gather_facts: no
+ run_once: yes
+ tasks:
+ - name: sanity check - fail if masters are not included in nodes
+ assert:
+ msg: "the cluster node group '{{ kubernetes_cluster_layout.nodes_group }}' must include *all* nodes (master and non-master)"
+ that: kubernetes_cluster_layout.masters | difference(ansible_play_hosts_all) | length == 0
+
+ - name: sanity check - fail if primary master is not in masters
+ assert:
+ msg: "kubernetes_cluster_layout.masters must include kubernetes_cluster_layout.primary_master"
+ that: kubernetes_cluster_layout.primary_master is undefined or kubernetes_cluster_layout.primary_master in kubernetes_cluster_layout.masters
+
+ - name: sanity check - fail on multiple masters if no primary master is configured
+ assert:
+ msg: "For multiple masters to work you need to define kubernetes_cluster_layout.primary_master"
+ that: (kubernetes_cluster_layout.masters | length) == 1 or kubernetes_cluster_layout.primary_master is defined
+
+ - name: create group for all kubernetes nodes
+ loop: "{{ ansible_play_hosts_all }}"
+ add_host:
+ name: "{{ item }}"
+ inventory_dir: "{{ hostvars[item].inventory_dir }}"
+ group: _kubernetes_nodes_
+ changed_when: False
+
+ - name: create group for kubernetes master nodes
+ loop: "{{ kubernetes_cluster_layout.masters }}"
+ add_host:
+ name: "{{ item }}"
+ inventory_dir: "{{ hostvars[item].inventory_dir }}"
+ group: _kubernetes_masters_
+ changed_when: False
+
+ - name: create group for kubernetes primary master
+ vars:
+ item: "{{ kubernetes_cluster_layout.primary_master | default(kubernetes_cluster_layout.masters[0]) }}"
+ add_host:
+ name: "{{ item }}"
+ inventory_dir: "{{ hostvars[item].inventory_dir }}"
+ group: _kubernetes_primary_master_
+ changed_when: False
diff --git a/common/kubernetes-prepare.yml b/common/kubernetes-prepare.yml
deleted file mode 100644
index c91d1962..00000000
--- a/common/kubernetes-prepare.yml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-- name: create host groups
- hosts: "{{ kubernetes_nodes_group }}"
- connection: local
- gather_facts: no
- run_once: yes
- tasks:
- - name: sanity check - fail if masters are not included in nodes
- assert:
- msg: "the cluster node group '{{ kubernetes_nodes_group }}' must include *all* nodes (master and non-master)"
- that: kubernetes_masters | difference(ansible_play_hosts_all) | length == 0
-
- - name: sanity check - fail if primary master is not in masters
- when: kubernetes_primary_master is defined
- assert:
- msg: "kubernetes_masters must include kubernetes_primary_master"
- that: kubernetes_primary_master in kubernetes_masters
-
- - name: sanity check - fail on multiple masters if no primary master is configured
- assert:
- msg: "For multiple masters to work you need to define kubernetes_primary_master"
- that: (kubernetes_masters | length) == 1 or kubernetes_primary_master is defined
-
- - name: create group for all kubernetes nodes
- loop: "{{ ansible_play_hosts_all }}"
- add_host:
- name: "{{ item }}"
- inventory_dir: "{{ hostvars[kubernetes_masters[0]].inventory_dir }}"
- group: _kubernetes_nodes_
- changed_when: False
-
- - name: create group for kubernetes master nodes
- loop: "{{ kubernetes_masters }}"
- add_host:
- name: "{{ item }}"
- inventory_dir: "{{ hostvars[kubernetes_masters[0]].inventory_dir }}"
- group: _kubernetes_masters_
- changed_when: False
-
- - name: create group for kubernetes primary master
- add_host:
- name: "{{ kubernetes_primary_master | default(kubernetes_masters[0]) }}"
- inventory_dir: "{{ hostvars[kubernetes_masters[0]].inventory_dir }}"
- group: _kubernetes_primary_master_
- changed_when: False
diff --git a/common/kubernetes.yml b/common/kubernetes.yml
index adcaf5e7..21af11a6 100644
--- a/common/kubernetes.yml
+++ b/common/kubernetes.yml
@@ -1,5 +1,5 @@
---
-- import_playbook: kubernetes-prepare.yml
+- import_playbook: kubernetes-cluster-layout.yml
- name: prepare variables and do some sanity checks
hosts: _kubernetes_nodes_
diff --git a/inventory/group_vars/k8s-test/main.yml b/inventory/group_vars/k8s-test/main.yml
index a4aeff04..e1b6570f 100644
--- a/inventory/group_vars/k8s-test/main.yml
+++ b/inventory/group_vars/k8s-test/main.yml
@@ -3,9 +3,6 @@ kubernetes_version: 1.16.4
kubernetes_container_runtime: containerd
kubernetes_network_plugin: kubeguard
-kubernetes_masters:
- - s2-k8s-test0
-
kubernetes:
cluster_name: k8s-test
@@ -17,7 +14,6 @@ kubernetes:
pod_ip_range_size: 24
service_ip_range: 172.18.192.0/18
-
# kubernetes_secrets:
# encryption_config_keys: "{{ vault_kubernetes_encryption_config_keys }}"
diff --git a/spreadspace/k8s-test.yml b/spreadspace/k8s-test.yml
index 83f19ced..27599556 100644
--- a/spreadspace/k8s-test.yml
+++ b/spreadspace/k8s-test.yml
@@ -8,4 +8,7 @@
- import_playbook: ../common/kubernetes.yml
vars:
- kubernetes_nodes_group: k8s-test
+ kubernetes_cluster_layout:
+ nodes_group: k8s-test
+ masters:
+ - s2-k8s-test0