我已经按照this blog帖子中的说明在几个树莓派4上设置了一个k3s集群:
我现在正试图以traefik作为前端弄脏我的手,但是我认为它已被部署为“ HelmChart”的方式存在问题。
也可以部署Helm图表。 k3s支持CRD 用于安装图表的控制器。 YAML文件规范可以看起来 如下(示例取自
/var/lib/rancher/k3s/server/manifests/traefik.yaml
):
因此,我一直在使用--no-deploy traefik
选项启动k3,以手动添加设置。因此,我因此手动应用了这样的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"
但是,当尝试遍历设置以使其按我希望的方式工作时,我很难将其拆解。如果我在此Yaml上尝试kubectl delete -f
,它将无限期地挂起。而且,我似乎也找不到一种干净的方法来手动删除所有资源。
我一直求助于一次又一次地重新安装整个集群,因为我似乎无法正确清理。
是否可以删除没有helm
cli(我什至没有)的类似图表的所有资源?
答案 0 :(得分:0)
我在这里看到两个选项:
使用--now
标志以最小的延迟删除yaml文件。
使用--grace-period=0 --force
标志来强制删除资源。
还有其他选项,但您需要使用Helm CLI。
请让我知道是否有帮助。
答案 1 :(得分:0)
您确定kubectl delete -f
挂了吗?
我遇到了与您相同的问题,kubectl delete -f
似乎挂起了,但这确实花了很长时间。
据我所知,当您向kubectl delete -f
命名空间中的kube-system
发出helm-delete-*
名称的pod时,应该旋转并尝试删除通过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