如果部署将replica设置为2,然后我们使用"kubectl delete pods"命令删除一个pod,那么旧的pod将处于"终止"状态,新的pod将出现。
所以,我希望在旧的pod成功终止后,新的pod会开始创建,那么,我该怎么办呢?
您可以使用等待命令:
等待一个或多个资源上的特定条件。
该命令占用多个资源并等待,直到指定条件显示在每个给定资源的"状态"字段中。
或者,命令可以通过提供"delete"关键字作为--用于flag
下面是一个示例:
在发出"删除"命令后,等待pod"busybox1"被删除,超时60s:
kubectl delete pod/busybox1
kubectl wait --for=delete pod/busybox1 --timeout=60s
---编辑---
根据您的用例,其他选项将是:
使用StatefulSet和"有序、优雅的部署和扩展">
将副本设置为1,等待第二个吊舱终止,然后将其设置回2
使用额外的部署配置,如
maxSurge
和maxUnavailable
(不太推荐(将
grace-period=0
与force
参数一起使用,但这可能会导致不一致或数据丢失,需要确认。更多详细信息,请点击此处。
如果有帮助,请告诉我。