diff options
author | Christian Pointner <equinox@spreadspace.org> | 2020-02-01 02:48:06 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2020-02-01 02:48:06 +0100 |
commit | 844bc9826f652d6bebe55c66e44eb69bd89575bf (patch) | |
tree | 5c60fe1648e5a1db4b54c4ce02e72c4cf0bd8939 /common/kubernetes-cleanup.yml | |
parent | updated all nexcloud instances on sk-cloudia (diff) | |
parent | kubernetes standalone with docker (diff) |
Merge branch 'topic/kubernetes-ng'
Diffstat (limited to 'common/kubernetes-cleanup.yml')
-rw-r--r-- | common/kubernetes-cleanup.yml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/common/kubernetes-cleanup.yml b/common/kubernetes-cleanup.yml new file mode 100644 index 00000000..be55d11e --- /dev/null +++ b/common/kubernetes-cleanup.yml @@ -0,0 +1,37 @@ +--- +- name: check for nodes to be removed + hosts: _kubernetes_primary_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 + loop: "{{ kubectl_node_list.stdout_lines | map('replace', 'node/', '') | list | difference(groups['_kubernetes_nodes_']) }}" + add_host: + name: "{{ item }}" + inventory_dir: "{{ hostvars[item].inventory_dir }}" + group: _kubernetes_nodes_remove_ + changed_when: False + + - name: drain superflous nodes + loop: "{{ groups['_kubernetes_nodes_remove_'] | default([]) }}" + command: "kubectl drain {{ item }} --delete-local-data --force --ignore-daemonsets" + +- name: try to clean superflous nodes + hosts: _kubernetes_nodes_remove_ + roles: + - role: kubernetes/kubeadm/reset + - role: kubernetes/net/kubeguard + when: hostvars[groups['_kubernetes_primary_master_'][0]].kubernetes_network_plugin == 'kubeguard' + vars: + kubeguard_action: remove + +- name: remove node from api server + hosts: _kubernetes_primary_master_ + tasks: + - name: remove superflous nodes + loop: "{{ groups['_kubernetes_nodes_remove_'] | default([]) }}" + command: "kubectl delete node {{ item }}" |