使用 helm go sdk 删除 kubernetes 中的所有资源

Delete all resource in kubernetes with helm go sdk

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

我可以获取 KubeClient,但只找到 delete method expecting the resources

也许是对 kubectl delete all --all 的编程调用?最好包括名称空间资源本身。

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

谢谢!

这是为了提高知名度而发布的社区维基答案。随意扩展它。

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

kubectl api-resources enumerates the resource types available in your cluster.

this means you can combine it with kubectl get to actually list every instance of every resource type in a namespace:

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

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