NoneK 3s очистка HelmChart?

Я следовал инструкциям из этого поста, чтобы настроить кластер k3s на пару Raspberry Pi 4:

Я сейчас пытаюсь испачкать руки с traefik впереди, но у меня возникли проблемы с тем, как он был развернут как HelmChart, я думаю.

Из документации K3S

Также можно развернуть диаграммы Хелма. 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

Я вижу два варианта здесь:

  1. Использовать --now флаг, чтобы удалить ваш файл yaml с минимальной задержкой.

  2. использование --grace-period=0 --force флаги для принудительного удаления ресурса.

Есть и другие варианты, но вам понадобится Helm CLI для них.

Пожалуйста, дайте мне знать, если это помогло.

Другие вопросы по тегам