kubectl set image deployments/common-uat uat-common=registry.cn-hangzhou.aliyuncs.com/mx_586/common_uat:$DID这条命令会更新pod,但是会先删除旧pod,怎么能让他先完全启动后才删除旧pod
时间: 2024-03-17 15:44:57 浏览: 82
删除旧驱动
你可以使用`kubectl rollout`命令来实现滚动更新,它会先启动新的Pod,确认新的Pod正常运行后,再逐步停止旧的Pod。
具体的操作步骤如下:
1. 首先,使用`kubectl set image`命令来更新镜像:
```
kubectl set image deployments/common-uat uat-common=registry.cn-hangzhou.aliyuncs.com/mx_586/common_uat:$DID
```
2. 然后,使用`kubectl rollout status`命令来确认新的Pod已经正常运行:
```
kubectl rollout status deployments/common-uat
```
这个命令会一直等待,直到新的Pod变成`Running`状态。
3. 最后,使用`kubectl rollout undo`命令来回滚到旧的版本:
```
kubectl rollout undo deployments/common-uat
```
这个命令会逐步停止新的Pod,同时启动旧的Pod,直到所有旧的Pod都重新启动。
阅读全文