You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

30 lines
830 B

---
- name: See if node is in ready state
shell: "{{ bin_dir }}/kubectl get nodes | grep {{ inventory_hostname }}"
register: kubectl_nodes
delegate_to: "{{ groups['kube-master'][0] }}"
failed_when: false
- set_fact:
needs_cordoning: >-
{% if " Ready" in kubectl_nodes.stdout -%}
true
{%- else -%}
false
{%- endif %}
- name: Cordon node
command: "{{ bin_dir }}/kubectl cordon {{ inventory_hostname }}"
delegate_to: "{{ groups['kube-master'][0] }}"
when: needs_cordoning
- name: Drain node
command: >-
{{ bin_dir }}/kubectl drain
--force
--ignore-daemonsets
--grace-period {{ drain_grace_period }}
--timeout {{ drain_timeout }}
--delete-local-data {{ inventory_hostname }}
delegate_to: "{{ groups['kube-master'][0] }}"
when: needs_cordoning