kubernetes - 如何使用 helm 强制删除 k8s 中的部署?
问题描述
我有带有 pod、部署等的 k8s 集群。我正在使用 helm 部署我的应用程序。我想删除所有部署并使用以下命令
helm delete myNamespace --purge
如果我查看我的 pod 的状态,我会看到处于终止状态,问题是它需要时间。有什么方法可以立即使用一些强制标志或其他东西将其删除?
解决方案
您可以尝试以下命令:
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 的强制删除,并完全了解所涉及的风险。
推荐阅读
- flutter - Flutter 应用程序未在清单中找到应用程序
- linux - 将数据从本地 Linux 服务器移动到 AWS 存储(如 S3 存储桶)涉及哪些步骤?
- javascript - 如何通过正则表达式拆分字符串后跟数字和数组中的单位
- sql - ORA-00904: : 无效的标识符 Oracle sql
- android - adb root 有效,但 adb shell su 无效
- swift - 将 SwiftUI 数据源放在其他地方
- python - Numpy 字符串数组,无法转换为浮点数
- javascript - 为什么我必须在 React 中指定两次默认导出?
- python - 如何使用训练有素的 bert 模型预测句子
- python - 如何将值转换为用户输入的类型?