2016-12-10 02:44:52 +08:00
|
|
|
---
|
2017-03-22 21:19:27 +08:00
|
|
|
- name: See if node is in ready state
|
2017-09-10 04:54:13 +08:00
|
|
|
shell: "{{ bin_dir }}/kubectl get nodes | grep {{ inventory_hostname }}"
|
2017-03-22 21:19:27 +08:00
|
|
|
register: kubectl_nodes
|
2017-03-23 18:10:42 +08:00
|
|
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
2017-03-24 23:29:28 +08:00
|
|
|
failed_when: false
|
2017-03-22 21:19:27 +08:00
|
|
|
|
|
|
|
- set_fact:
|
|
|
|
needs_cordoning: >-
|
2017-06-22 07:56:31 +08:00
|
|
|
{% if " Ready" in kubectl_nodes.stdout -%}
|
2017-03-22 21:19:27 +08:00
|
|
|
true
|
2017-06-22 07:56:31 +08:00
|
|
|
{%- else -%}
|
2017-03-22 21:19:27 +08:00
|
|
|
false
|
2017-06-22 07:56:31 +08:00
|
|
|
{%- endif %}
|
2016-12-10 02:44:52 +08:00
|
|
|
|
|
|
|
- name: Cordon node
|
2017-05-27 05:47:25 +08:00
|
|
|
command: "{{ bin_dir }}/kubectl cordon {{ inventory_hostname }}"
|
2016-12-10 02:44:52 +08:00
|
|
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
2017-03-22 21:19:27 +08:00
|
|
|
when: needs_cordoning
|
2016-12-10 02:44:52 +08:00
|
|
|
|
|
|
|
- name: Drain node
|
2017-03-17 23:21:00 +08:00
|
|
|
command: >-
|
|
|
|
{{ bin_dir }}/kubectl drain
|
|
|
|
--force
|
|
|
|
--ignore-daemonsets
|
|
|
|
--grace-period {{ drain_grace_period }}
|
|
|
|
--timeout {{ drain_timeout }}
|
2017-05-27 05:47:25 +08:00
|
|
|
--delete-local-data {{ inventory_hostname }}
|
2016-12-10 02:44:52 +08:00
|
|
|
delegate_to: "{{ groups['kube-master'][0] }}"
|
2017-03-22 21:19:27 +08:00
|
|
|
when: needs_cordoning
|