NoneK 3s очистка HelmChart?
Я следовал инструкциям из этого поста, чтобы настроить кластер k3s на пару Raspberry Pi 4:
Я сейчас пытаюсь испачкать руки с traefik впереди, но у меня возникли проблемы с тем, как он был развернут как HelmChart, я думаю.
Также можно развернуть диаграммы Хелма. K3s поддерживает контроллер CRD для установки графиков. Спецификация файла YAML может выглядеть следующим образом (пример взят из
/var/lib/rancher/k3s/server/manifests/traefik.yaml
):
Итак, я запускаю свои K3s с --no-deploy traefik
возможность вручную добавить его с настройками. Поэтому я вручную применяю yaml следующим образом:
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: traefik
namespace: kube-system
spec:
chart: https://%{KUBERNETES_API}%/static/charts/traefik-1.64.0.tgz
set:
rbac.enabled: "true"
ssl.enabled: "true"
kubernetes.ingressEndpoint.useDefaultPublishedService: "true"
dashboard:
enabled: true
domain: "traefik.k3s1.local"
Но когда я пытаюсь перебрать настройки, чтобы они работали так, как я хочу, у меня возникают проблемы с их срывом. Если я попробую kubectl delete -f
на этом ямле он просто висит бесконечно. И я не могу найти чистый способ удалить все ресурсы вручную.
Сейчас я прибегал к переустановке всего своего кластера снова и снова, потому что я не могу очистить его должным образом.
Есть ли способ удалить все ресурсы, созданные диаграммой, как это без helm
Cli (которого у меня даже нет)?
1 ответ
Ты уверен что kubectl delete -f
висит?
У меня была такая же проблема, как и у вас, и казалось, kubectl delete -f
висел, но на самом деле это длилось очень долго.
Насколько я могу судить, когда вы выдаете kubectl delete -f
капсула в kube-system
пространство имен с именем helm-delete-*
должен развернуться и попытаться удалить ресурсы, развернутые через helm. Вы можете получить полное имя этого контейнера, запустивkubectl -n kube-system get pods
найди ту, у которой kube-delete-<name of yaml>-<id>
. Затем используйте имя модуля, чтобы просмотреть журналы, используяkubectl -n kube-system logs kube-delete-<name of yaml>-<id>
.
Пример того, что я сделал:
kubectl delete -f jenkins.yaml # seems to hang
kubectl -n kube-system get pods # look at pods in kube-system namespace
kubectl -n kube-system logs helm-delete-jenkins-wkjct # look at the delete logs
Я вижу два варианта здесь:
Использовать
--now
флаг, чтобы удалить ваш файл yaml с минимальной задержкой.использование
--grace-period=0 --force
флаги для принудительного удаления ресурса.
Есть и другие варианты, но вам понадобится Helm CLI для них.
Пожалуйста, дайте мне знать, если это помогло.