36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
- name: Cordon node
|
|
kubernetes.core.k8s_drain:
|
|
name: "{{ decom_nodename }}"
|
|
state: cordon
|
|
kubeconfig: "{{ kubeconfig.path }}"
|
|
|
|
- name: Drain node
|
|
# Currently does not work; returns with error "Failed to delete pod [...] due to: Too Many Requests"
|
|
# See also: https://github.com/ansible-collections/kubernetes.core/issues/474
|
|
# kubernetes.core.k8s_drain:
|
|
# name: "{{ decom_nodename }}"
|
|
# state: drain
|
|
# delete_options:
|
|
# ignore_daemonsets: true
|
|
# delete_emptydir_data: true
|
|
# kubeconfig: "{{ kubeconfig.path }}"
|
|
ansible.builtin.shell:
|
|
cmd: >-
|
|
kubectl drain {{ decom_nodename }} \
|
|
--delete-emptydir-data \
|
|
--ignore-daemonsets
|
|
register: nodedrain_results
|
|
until:
|
|
- nodedrain_results is not failed
|
|
- (nodedrain_results.stdout_lines | last) is match('node/.* drained')
|
|
retries: "{{ playbook.retries }}"
|
|
delay: "{{ ((storage_benchmark | float) * playbook.delay.short) | int }}"
|
|
|
|
- name: Delete node
|
|
kubernetes.core.k8s:
|
|
name: "{{ decom_nodename }}"
|
|
kind: node
|
|
state: absent
|
|
wait: true
|
|
kubeconfig: "{{ kubeconfig.path }}"
|