删除 StatefulSet
- 本任务假设在你的集群上已经运行了由 StatefulSet 创建的应用。
你可以像删除 Kubernetes 中的其他资源一样删除 StatefulSet:使用 命令,并按文件或者名字指定 StatefulSet。
删除 StatefulSet 之后,你可能需要单独删除关联的无头服务。
通过将 --cascade=false
传递给 kubectl delete
,在删除 StatefulSet 对象之后, StatefulSet 管理的 Pod 会被保留下来。如果 Pod 具有标签 app=myapp
,则可以按照 如下方式删除它们:
删除 StatefulSet 管理的 Pod 并不会删除关联的卷。这是为了确保你有机会在删除卷之前从卷中复制数据。 在 Pod 离开 后删除 PVC 可能会触发删除背后的 PV 持久卷,具体取决于存储类和回收策略。 永远不要假定在 PVC 删除后仍然能够访问卷。
要简单地删除 StatefulSet 中的所有内容,包括关联的 pods,你可能需要运行一系列类似于以下内容的命令:
kubectl delete statefulset -l app=myapp
kubectl delete pvc -l app=myapp
在上面的例子中,Pod 的标签为 ;适当地替换你自己的标签。
进一步了解强制删除 StatefulSet 的 Pods。