4

我按照这篇博文中的说明在几个树莓派 4 上设置了一个 k3s 集群:

我现在正试图用 traefik 作为前面弄脏我的手,但我认为它被部署为“HelmChart”的方式存在问题。

来自k3s 文档

也可以部署 Helm 图表。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使用这个 yaml,它就会无限期地挂起。而且我似乎也找不到手动删除所有资源的干净方法。

我现在一直在求助于一遍又一遍地重新安装整个集群,因为我似乎无法正确清理。

helm有没有办法在没有cli(我什至没有)的情况下删除由这样的图表创建的所有资源?

4

2 回答 2

2

你确定那kubectl delete -f是挂着的?

我和你有同样的问题,看起来就像kubectl delete -f是挂了,但实际上只是花了很长时间。

据我所知,当您在命名空间中发出名为 的kubectl delete -fpod 时,应该启动并尝试删除通过 helm 部署的资源。您可以通过运行获取该容器的全名,找到带有. 然后使用 pod 名称查看使用.kube-systemhelm-delete-*kubectl -n kube-system get podskube-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
于 2019-11-03T02:32:49.190 回答
1

我在这里看到两个选项:

  1. 使用该--now标志以最小的延迟删除您的 yaml 文件。

  2. 使用--grace-period=0 --force标志强制删除资源。

还有其他选项,但您需要 Helm CLI。

请让我知道这是否有帮助。

于 2019-07-15T10:04:48.667 回答