prole/infrastructure/roles/k3s/tasks/cleanup.yml

81 lines
2.3 KiB
YAML

---
- name: Best-effort purge kube-system workloads before uninstall
ansible.builtin.command: "kubectl -n kube-system delete all --all --ignore-not-found"
failed_when: false
changed_when: false
- name: Best-effort purge kube-system namespaces
ansible.builtin.command: "kubectl delete namespace kube-system --ignore-not-found"
failed_when: false
changed_when: false
- name: Force-remove kube-system finalizers if namespace is stuck
ansible.builtin.command: "kubectl patch namespace kube-system -p '{\"spec\":{\"finalizers\":[]}}' --type=merge"
failed_when: false
changed_when: false
- name: Stop k3s services if present
ansible.builtin.service:
name: "{{ item }}"
state: stopped
enabled: false
loop:
- k3s
- k3s-agent
failed_when: false
- name: Check for k3s uninstall scripts
ansible.builtin.stat:
path: "{{ item }}"
loop:
- /usr/local/bin/k3s-uninstall.sh
- /usr/local/bin/k3s-agent-uninstall.sh
register: k3s_uninstall_scripts
- name: Run k3s uninstall scripts if present
ansible.builtin.command: "{{ item.stat.path }}"
loop: "{{ k3s_uninstall_scripts.results }}"
when: item.stat.exists
- name: Remove k3s systemd units and directories
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop:
- /etc/rancher
- /etc/systemd/system/k3s.service
- /etc/systemd/system/k3s-agent.service
- /etc/systemd/system/k3s.service.d
- /etc/systemd/system/k3s-agent.service.d
- /etc/rancher/node
- /etc/rancher/k3s
- /etc/cni
- /opt/cni
- /var/lib/rancher/k3s
- /var/lib/rancher/k3s/server/tls
- /var/lib/rancher/k3s/server/cred
- /var/lib/rancher/k3s/server/token
- /var/lib/rancher/k3s/server/node-token
- /var/lib/rancher/k3s/server/agent-token
- /var/lib/rancher/k3s/server/db
- /var/lib/rancher/k3s/agent
- /var/lib/rancher/k3s/data
- /var/lib/kubelet
- /var/lib/etcd
- /var/lib/cni
- /var/lib/containerd
- /run/k3s
- /run/flannel
- /var/log/k3s
- /usr/local/bin/k3s
- /usr/local/bin/k3s-killall.sh
- /usr/local/bin/k3s-uninstall.sh
- /usr/local/bin/k3s-agent-uninstall.sh
- /usr/local/bin/kubectl
- /usr/local/bin/crictl
- /usr/local/bin/ctr
- name: Reload systemd after k3s cleanup
ansible.builtin.systemd:
daemon_reload: true