From a3fff1e438b287fda1fd68a73681d18d8c08bab7 Mon Sep 17 00:00:00 2001 From: bobahspb Date: Wed, 22 May 2019 09:36:05 +0300 Subject: [PATCH] cordon all deleted nodes before drain (#4756) Kubespray waits exit of every drain before run other one. Running drain every after each other seems better than parallel, because we should check resources availability every time. But, this way, we have one additional problem: possible restart pods on the nodes that are killed little bit later. Fast cordon before heavy drain seems like an easy solution. --- roles/remove-node/pre-remove/tasks/main.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/roles/remove-node/pre-remove/tasks/main.yml b/roles/remove-node/pre-remove/tasks/main.yml index 8a39ba120..26cf42003 100644 --- a/roles/remove-node/pre-remove/tasks/main.yml +++ b/roles/remove-node/pre-remove/tasks/main.yml @@ -1,4 +1,13 @@ --- +- name: cordon-node | Mark all nodes as unschedulable before drain + command: >- + {{ bin_dir }}/kubectl cordon {{ item }} + with_items: + - "{{ node.split(',') | default(groups['kube-node']) }}" + failed_when: false + delegate_to: "{{ groups['kube-master']|first }}" + run_once: true + ignore_errors: yes - name: remove-node | Drain node except daemonsets resource command: >-