【问题标题】:How to remove stuck statefullset.apps in Kubernetes?如何移除 Kubernetes 中卡住的 statefulset.apps?
【发布时间】:2021-10-20 19:48:01
【问题描述】:

在我的主节点中删除 jitsi 堆栈后,我卡住了资源。唯一待处理的资源是这两个statefullset.appsset,没有任何 pod 正在运行。

如果我执行命令:

kubectl delete statefulsets shard-0-jvb -n jitsi --force --grace-period=0 --cascade=orphan

控制台冻结了几个小时,资源没有被删除。

还有其他方法可以强制销毁过程吗?

堆栈是使用 Kustomize 创建的。

【问题讨论】:

  • 检查对象中的终结器,即使使用武力和朋友也无法跳过它们,但您可以kubectl edit 摆脱它们。但是当然,如​​果有一个卡住的终结器,这通常意味着其他一些组件没有运行,它会执行某种清理步骤,你会跳过所以警告购买者。
  • 尝试删除statefull set yaml,kubectl delete -f
  • 我的目录中有很多文件,因为是使用 kustomize 进行部署,执行 kubectl delete -f - 它也留在控制台中而不做任何事情
  • @MiguelConde 你试过 coderanger 的建议了吗?你可以描述你的有状态集,你会发现finalizer。也请参考Delete a StatefulSetForce Delete StatefulSet Pods

标签: kubernetes jitsi kustomize


【解决方案1】:

将答案发布为社区 wiki,随时编辑和扩展。


一般卡住的物体

由于finalizer(s),有时无法删除对象,您需要通过查看整个对象来找到它们,例如kubectl get pod pod-name -o json.

那么有两种选择:

  1. 修复阻止删除依赖对象的原因(例如,它是指标服务器 - 参见 another answer on SO

  2. 如果无法修复,则应由kubectl edit resource_type resouce_name手动删除finalizer

卡住的状态集

Kubernetes 文档有两部分与删除 statefulsets 相关(这有点复杂,因为它们通常也有持久卷)。

有用的链接:

【讨论】:

  • 你好@MiguelConde。你成功了吗?
猜你喜欢
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 1970-01-01
  • 2015-10-16
  • 1970-01-01
相关资源
最近更新 更多