通过deployment创建的pod直接执行delete是不会正常被删除的,因为deployment中设置了pod的数量,deployment会动态维护pod的数量,倘若pod数量少于约定数量,deployment会创建pod,直到pod数量达到约定数量才会停止。
如若需要针对pod进行下线,有以下两种方式:
- 调整deployment中replicas数量设置为0,deployment监测到replicas数量发生变化后,会自动调整pod数量,直到pod数为0,此方法仅下线pod,deployment仍然存在,调整replicas数量后pod会恢复。
- 删除deployment,删除后pod会自动删除,此方式会彻底删除deployment和pod,常用于业务下线。
-
此文只介绍第二种方式:删除deployment和pod。
-
获取deployment
cpp
#kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
nginx 1/1 1 1 12s
#kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-6799fc88d8-shrll 1/1 Running 0 7s
- 删除deployment
cpp
#kubectl delete deployment nginx
deployment.apps "nginx" deleted
- 查看是否删除
cpp
#kubectl get deployment
No resources found in default namespace.
#kubectl get pod
No resources found in default namespace.