K8S:如何删除具有0个副本的部署

时间:2020-09-10 07:25:24

标签: kubernetes

如何清除旧的部署?我可以通过kubectl scale deployment.v1.apps/hello-kubernetes3 --replicas=0将部署缩减为0个副本,但是如下所示,它们仍然以某种形式存在。

$ kubectl get rs -o wide
NAME                           DESIRED   CURRENT   READY   AGE   CONTAINERS         IMAGES                            SELECTOR
hello-kubernetes-5cb547b7d     1         1         1       27m   hello-kubernetes   paulbouwer/hello-kubernetes:1.8   app=hello-kubernetes,pod-template-hash=5cb547b7d
hello-kubernetes-6d9fd679cd    0         0         0       32m   hello-kubernetes   paulbouwer/hello-kubernetes:1.8   app=hello-kubernetes,pod-template-hash=6d9fd679cd
hello-kubernetes3-6d9fd679cd   0         0         0       25m   hello-kubernetes   paulbouwer/hello-kubernetes:1.8   app=hello-kubernetes,pod-template-hash=6d9fd679cd

2 个答案:

答案 0 :(得分:1)

这是一个社区Wiki答案,因为它的一部分将基于@意义qo评论,但我想在官方文档的帮助下分享更多有关此主题的信息。

首先,您要做的不是删除部署,而是将其实际缩放为0。要删除部署或任何其他资源,您应该使用kubectl delete command

通过文件名,标准输入,资源和名称或通过删除资源 资源和标签选择器。

可接受JSON和YAML格式。仅一种类型的参数可以 指定:文件名,资源和名称,或资源和标签 选择器。

请注意:

某些资源(例如Pod)支持正常删除。这些 资源定义强制终止之前的默认期限 (宽限期)(...),因为这些资源通常代表 群集中的实体,删除可能不会立即得到确认。

因此,您可能需要稍等片刻才能看到结果。

请参阅第二个问题。还有其他一些选项专门用于const data = _.get(resp, "data.abc.value");

我还建议您熟悉整个ReplicaSet guide,以更好地理解这个特定主题。

答案 1 :(得分:0)

从kubernetes术语中,您可以删除具有以下模式的任何组件

kubectl delete <component type> <name> <-n namespace>

示例:kubectl删除部署hello-world -n mynamespace

最常用的组件类型是pod,部署,副本集,状态集,服务等。