From 1d659c487ab5c67a4105aaadc5e0f83c60a28709 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 2 Feb 2018 22:55:39 +0100 Subject: removing node from kubernetes works now --- playbooks/k8s-emc.yaml | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) (limited to 'playbooks/k8s-emc.yaml') diff --git a/playbooks/k8s-emc.yaml b/playbooks/k8s-emc.yaml index bc981be3..e1ec695e 100644 --- a/playbooks/k8s-emc.yaml +++ b/playbooks/k8s-emc.yaml @@ -14,14 +14,14 @@ msg: "There are nodes without an assigned net-index: {{ kubernetes_nodes | difference(kubernetes.net_index.keys()) | join(', ') }}" failed_when: kubernetes_nodes | difference(kubernetes.net_index.keys()) | length > 0 - - name: check whether net indezes are unique + - name: check whether net indizes are unique fail: msg: "There are duplicate entries in the net_index table, every net-index is only allowed once" failed_when: (kubernetes.net_index.keys() | length) != (kubernetes.net_index.values() | unique | length) - - name: check whether net indezes are all > 0 + - name: check whether net indizes are all > 0 fail: - msg: "At least one net-index is < 1 (indezes start at 1)" + msg: "At least one net-index is < 1 (indizes start at 1)" failed_when: (kubernetes.net_index.values() | min) < 1 ######## @@ -47,4 +47,37 @@ roles: - role: kubernetes-node -## TODO: cleanup (remove superflous nodes and delete bootstrap token) +######## +- name: check for nodes to be removed + hosts: k8s-emc-master + tasks: + - name: fetch list of current nodes + command: kubectl get nodes -o name + changed_when: False + check_mode: no + register: kubectl_node_list + + - name: generate list of nodes to be removed + with_items: "{{ kubectl_node_list.stdout_lines | map('replace', 'nodes/', '') | list | difference(kubernetes_nodes) }}" + add_host: + name: "{{ item }}" + inventory_dir: "{{inventory_dir}}" + group: k8s-emc-remove + changed_when: False + +- name: try to clean superflous nodes + hosts: k8s-emc-remove + vars: + k8s_remove_node: yes + roles: + - role: kubernetes-node + - role: kubernetes-net + +- name: remove node from api server + hosts: k8s-emc-master + tasks: + - name: remove superflous nodes + with_items: "{{ groups['k8s-emc-remove'] | default([]) }}" + command: "kubectl delete node {{ item }}" + + # TODO: remove boostrap token -- cgit v1.2.3