99 FAQ - kropachev/1c-devops-jr GitHub Wiki
kubectl get nskubectl get pods -n <namespace>kubectl describe pod <pod-name> -n <namespace>kubectl delete pod <pod-name> -n <namespace>Этот раздел универсальный. Подходит для любого приложения в k3s, установленного через Helm (GitLab, Jenkins, SonarQube и т.д.). Ниже приведены два варианта удаления.
Используется вариант, если:
- данных в приложении нет или они не нужны;
- namespace используется только этим приложением;
- цель - полностью снести и поставить заново без отладки.
kubectl delete namespace <namespace>Дождаться завершения.
Что сделает Kubernetes:
- удалит все pods;
- удалит все services;
- удалит все deployments / statefulsets / jobs;
- удалит все secrets и configmaps;
- удалит все PVC, связанные с этим namespace.
Это самый быстрый для homelab.
Вариант используется при следующих условиях:
- namespace используется несколькими приложениями;
- нужно сохранить часть ресурсов;
- требуется корректное удаление Helm hooks.
helm -n gitlab uninstall gitlabПроверка:
helm -n gitlab listОжидаемо: пусто.
kubectl -n gitlab get pods
kubectl -n gitlab get deploy
kubectl -n gitlab get statefulset
kubectl -n gitlab get jobЕсли что-то осталось:
kubectl -n gitlab delete all --allGitLab активно использует PersistentVolumeClaims. Они не удаляются автоматически при helm uninstall.
kubectl -n gitlab get pvcЕсли список не пустой:
kubectl -n gitlab delete pvc --allkubectl -n gitlab delete secret --all
kubectl -n gitlab delete configmap --allСюда входят:
- root password secret;
- TLS / CA secrets;
- внутренние secrets GitLab.
Если после контролируемой чистки namespace больше не нужен:
kubectl delete namespace gitlabkubectl get all -A | grep -i gitlab || echo "GitLab полностью удален"
helm list -A | grep gitlab || echo "Helm release отсутствует"