mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-01-10 15:32:09 -03:30
Remove unnecessary error handling. If the node ip is not defined, is does not change anything whether we fail early of late.
40 lines
1.6 KiB
YAML
40 lines
1.6 KiB
YAML
---
|
|
- name: Lookup node IP in kubernetes
|
|
command: >
|
|
{{ kubectl }} get nodes {{ node }}
|
|
-o jsonpath-as-json='{.status.addresses[?(@.type=="InternalIP")].address}'
|
|
register: k8s_node_ips
|
|
when:
|
|
- groups['kube_control_plane'] | length > 0
|
|
- ('etcd' in group_names)
|
|
- ip is not defined
|
|
- access_ip is not defined
|
|
delegate_to: "{{ groups['etcd'] | first }}"
|
|
|
|
- name: Remove etcd member from cluster
|
|
environment:
|
|
ETCDCTL_API: "3"
|
|
ETCDCTL_CERT: "{{ kube_cert_dir + '/etcd/server.crt' if etcd_deployment_type == 'kubeadm' else etcd_cert_dir + '/admin-' + groups['etcd'] | first + '.pem' }}"
|
|
ETCDCTL_KEY: "{{ kube_cert_dir + '/etcd/server.key' if etcd_deployment_type == 'kubeadm' else etcd_cert_dir + '/admin-' + groups['etcd'] | first + '-key.pem' }}"
|
|
ETCDCTL_CACERT: "{{ kube_cert_dir + '/etcd/ca.crt' if etcd_deployment_type == 'kubeadm' else etcd_cert_dir + '/ca.pem' }}"
|
|
ETCDCTL_ENDPOINTS: "https://127.0.0.1:2379"
|
|
delegate_to: "{{ groups['etcd'] | first }}"
|
|
when: ('etcd' in group_names)
|
|
block:
|
|
- name: Lookup members infos
|
|
command: "{{ bin_dir }}/etcdctl member list"
|
|
register: etcd_members
|
|
changed_when: false
|
|
check_mode: false
|
|
tags:
|
|
- facts
|
|
- name: Remove member from cluster
|
|
vars:
|
|
node_ip: "{{ ip if ip is defined else (access_ip if access_ip is defined else (k8s_node_ips.stdout | from_json)[0]) }}"
|
|
command:
|
|
argv:
|
|
- "{{ bin_dir }}/etcdctl"
|
|
- member
|
|
- remove
|
|
- "{{ ((etcd_members.stdout_lines | select('contains', '//' + node_ip + ':'))[0] | split(','))[0] }}"
|