举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > kubernetes删除pod Kubernetes 删除StatefulSet

kubernetes删除pod Kubernetes 删除StatefulSet

2023-05-02 04:31 Kubernetes(k8s)手册

kubernetes删除pod Kubernetes 删除StatefulSet

kubernetes删除pod Kubernetes 删除StatefulSet

kubernetes删除pod

删除 StatefulSet

本任务展示如何删除 StatefulSet。

在开始之前

  • 本任务假设在你的集群上已经运行了由 StatefulSet 创建的应用。

删除 StatefulSet 

你可以像删除 Kubernetes 中的其他资源一样删除 StatefulSet:使用 ​kubectl delete​ 命令,并按文件或者名字指定 StatefulSet。

kubectl delete -f <file.yaml>
kubectl delete statefulsets <statefulset 名称>

删除 StatefulSet 之后,你可能需要单独删除关联的无头服务。

kubectl delete service <服务名称>

当通过 ​kubectl​ 删除 StatefulSet 时,StatefulSet 会被缩容为 0。 属于该 StatefulSet 的所有 Pod 也被删除。 如果你只想删除 StatefulSet 而不删除 Pod,使用 ​--cascade=orphan​。

kubectl delete -f <file.yaml> --cascade=orphan

通过将 ​--cascade=orphan​ 传递给 ​kubectl delete​,在删除 StatefulSet 对象之后, StatefulSet 管理的 Pod 会被保留下来。如果 Pod 具有标签 ​app=myapp​,则可以按照 如下方式删除它们:

kubectl delete pods -l app=myapp

持久卷 

删除 StatefulSet 管理的 Pod 并不会删除关联的卷。这是为了确保你有机会在删除卷之前从卷中复制数据。 在 Pod 离开终止状态 后删除 PVC 可能会触发删除背后的 PV 持久卷,具体取决于存储类和回收策略。 永远不要假定在 PVC 删除后仍然能够访问卷。

说明: 删除 PVC 时要谨慎,因为这可能会导致数据丢失。

完全删除 StatefulSet 

要删除 StatefulSet 中的所有内容,包括关联的 pods,你可以运行 一系列如下所示的命令:

grace=$(kubectl get pods <stateful-set-pod> --template "{{.spec.terminationGracePeriodSeconds}}")
kubectl delete statefulset -l app=myapp
sleep $grace
kubectl delete pvc -l app=myapp

在上面的例子中,Pod 的标签为 ​app=myapp​;适当地替换你自己的标签。

强制删除 StatefulSet 的 Pod

如果你发现 StatefulSet 的某些 Pod 长时间处于 "Terminating" 或者 "Unknown" 状态, 则可能需要手动干预以强制从 API 服务器中删除这些 Pod。 


阅读全文
以上是鳄鱼CMS为你收集整理的kubernetes删除pod Kubernetes 删除StatefulSet全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们