首页 > 解决方案 > 使用 helm go sdk 删除 Kubernetes 中的所有资源

问题描述

我正在广泛使用 helm go sdk。现在我不知道哪些资源仍然在集群中,并且会调用来完全清理它。

我可以得到 KubeClient,但只找到了期望资源的删除方法

也许程序调用kubectl delete all --all?最好包括命名空间资源本身。

还是我需要请求所有资源的名称然后删除它?

谢谢!

标签: gokuberneteskubernetes-helmkubectl

解决方案


这是为更好的可见性而发布的社区 wiki 答案。随意扩展它。

正如评论中已经提到的,列出所有资源的方法是使用适当的kubectl命令。它背后的想法在这里得到了很好的解释

kubectl api-resources枚举集群中可用的资源类型。

这意味着您可以将它与kubectl get实际列出命名空间中每种资源类型的每个实例:

kubectl api-resources --verbs=list --namespaced -o name \
  | xargs -n 1 kubectl get --show-kind --ignore-not-found -l <label>=<value> -n <namespace>

有了它,您将能够请求所有资源的名称,然后删除它们。


推荐阅读