--- # Полное удаление всего стека # Порядок: обратный установке # Запуск: ansible-playbook uninstall.yml - name: Confirm uninstall hosts: localhost gather_facts: false tasks: - name: Ask for confirmation ansible.builtin.pause: prompt: | ⚠️ ВНИМАНИЕ! Будут удалены: ingress-nginx, CSI NFS, kube-vip, K3S и ВСЕ данные. Введите 'yes' для подтверждения register: confirm when: confirm_uninstall is not defined - name: Abort if not confirmed ansible.builtin.fail: msg: "Отменено." when: - confirm_uninstall is not defined - confirm.user_input != 'yes' - name: Remove ingress-nginx hosts: k3s_master gather_facts: false become: true tags: [ingress_nginx] tasks: - name: Uninstall ingress-nginx Helm release ansible.builtin.command: > helm uninstall ingress-nginx -n ingress-nginx failed_when: false changed_when: true environment: KUBECONFIG: "{{ k3s_kubeconfig_path }}" - name: Delete ingress-nginx namespace ansible.builtin.command: k3s kubectl delete namespace ingress-nginx --ignore-not-found changed_when: true - name: Remove CSI NFS Driver hosts: k3s_master gather_facts: false become: true tags: [csi_nfs] tasks: - name: Uninstall CSI NFS Helm release ansible.builtin.command: > helm uninstall csi-driver-nfs -n kube-system failed_when: false changed_when: true environment: KUBECONFIG: "{{ k3s_kubeconfig_path }}" - name: Delete NFS StorageClass ansible.builtin.command: > k3s kubectl delete storageclass nfs-client --ignore-not-found changed_when: true - name: Remove kube-vip hosts: k3s_master gather_facts: false become: true tags: [kube_vip] tasks: - name: Remove kube-vip manifests ansible.builtin.file: path: "{{ item }}" state: absent loop: - "{{ k3s_data_dir }}/server/manifests/kube-vip.yaml" - "{{ k3s_data_dir }}/server/manifests/kube-vip-rbac.yaml" - name: Uninstall K3S workers hosts: k3s_workers gather_facts: true become: true tags: [k3s] tasks: - ansible.builtin.include_role: name: k3s tasks_from: uninstall - name: Uninstall K3S master hosts: k3s_master gather_facts: true become: true tags: [k3s] tasks: - ansible.builtin.include_role: name: k3s tasks_from: uninstall - name: Done hosts: localhost gather_facts: false tasks: - ansible.builtin.debug: msg: "✓ Весь стек удалён."