如何清除旧的部署?我可以通过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
答案 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,部署,副本集,状态集,服务等。