首页 > 解决方案 > 如何使用 helm 强制删除 k8s 中的部署?

问题描述

我有带有 pod、部署等的 k8s 集群。我正在使用 helm 部署我的应用程序。我想删除所有部署并使用以下命令

helm delete myNamespace --purge

如果我查看我的 pod 的状态,我会看到处于终止状态,问题是它需要时间。有什么方法可以立即使用一些强制标志或其他东西将其删除?

标签: kubernetesdeploymentkubernetes-helm

解决方案


您可以尝试以下命令:

helm delete myNamespace --purge --no-hooks

此外,您可以使用 kubectl 强制删除 pod,而不是等待终止。

这是我从这个链接中得到的。 https://kubernetes.io/docs/tasks/run-application/force-delete-stateful-set-pod/

如果要使用 kubectl version >= 1.5 强制删除 Pod,请执行以下操作:

kubectl delete pods <pod> --grace-period=0 --force

如果你使用任何版本的 kubectl <= 1.4,你应该省略 --force 选项并使用:

kubectl delete pods <pod> --grace-period=0

如果即使在执行这些命令后 pod 仍处于 Unknown 状态,请使用以下命令从集群中删除 pod:

kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'

始终谨慎执行 StatefulSet Pod 的强制删除,并完全了解所涉及的风险。


推荐阅读