Docker 如何在展开跨越';progressDeadlineSeconds';?

Docker 如何在展开跨越';progressDeadlineSeconds';?,docker,kubernetes,azure-aks,Docker,Kubernetes,Azure Aks,我正在kubernetes部署docker映像。第一次部署容器时,我使用了: kubectl apply -f <deployment_file>.yaml 我已经在上面的yaml文件中定义了“progressDeadlineSeconds”属性 为了跟踪部署情况,我使用了: kubectl rollout status deployment.v1beta1.apps/publisher 现在,如果我想用新图像更新容器,我可以再次重用该命令 kubectl apply -f &l

我正在kubernetes部署docker映像。第一次部署容器时,我使用了:

kubectl apply -f <deployment_file>.yaml
我已经在上面的yaml文件中定义了“progressDeadlineSeconds”属性

为了跟踪部署情况,我使用了:

kubectl rollout status deployment.v1beta1.apps/publisher
现在,如果我想用新图像更新容器,我可以再次重用该命令

kubectl apply -f <deployment_file>.yaml
kubectl应用-f.yaml
以应用更新

但是,如果由于某种原因应用更新失败(比如docker映像已损坏),当-pods status未设置为“running”或执行时间超过“prePressDeadlineSeconds”时,是否有方法自动触发回滚到上一版本


到目前为止,我还没有找到一种自动执行回滚的方法。如有任何想法,将不胜感激。

请按照以下步骤操作

1. append the --record param to deployment, as shown below
kubectl apply -f <deployment_file>.yaml --record

2. kubectl rollout history deploy <deployment-name> to check deployment history. for example,
kubectl rollout history deploy mynginx
deployments "mynginx"
REVISION  CHANGE-CAUSE
3         kubectl set image deploy mynginx mynginx=nginx:1.12.2
4         kubectl set image deploy mynginx mynginx=nginx:1.13.8


3. you can rollback to previous version using revision, say to revision 3
kubectl rollout undo deploy mynginx --to-revision=3
1。将--record参数追加到部署中,如下所示
kubectl应用-f.yaml——记录
2.kubectl卷展栏“历史部署”以检查部署历史。例如
kubectl卷展历史部署mynginx
部署“mynginx”
修订变更原因
3 kubectl设置映像部署mynginx mynginx=nginx:1.12.2
4 kubectl设置映像部署mynginx mynginx=nginx:1.13.8
3.您可以使用修订版回滚到以前的版本,比如说修订版3
kubectl卷展栏撤消部署mynginx--到修订版=3

按照以下步骤操作

1. append the --record param to deployment, as shown below
kubectl apply -f <deployment_file>.yaml --record

2. kubectl rollout history deploy <deployment-name> to check deployment history. for example,
kubectl rollout history deploy mynginx
deployments "mynginx"
REVISION  CHANGE-CAUSE
3         kubectl set image deploy mynginx mynginx=nginx:1.12.2
4         kubectl set image deploy mynginx mynginx=nginx:1.13.8


3. you can rollback to previous version using revision, say to revision 3
kubectl rollout undo deploy mynginx --to-revision=3
1。将--record参数追加到部署中,如下所示
kubectl应用-f.yaml——记录
2.kubectl卷展栏“历史部署”以检查部署历史。例如
kubectl卷展历史部署mynginx
部署“mynginx”
修订变更原因
3 kubectl设置映像部署mynginx mynginx=nginx:1.12.2
4 kubectl设置映像部署mynginx mynginx=nginx:1.13.8
3.您可以使用修订版回滚到以前的版本,比如说修订版3
kubectl卷展栏撤消部署mynginx--到修订版=3

在执行
kubectl apply
命令后,您可以检查部署是否成功展开,然后,如有必要,
kubectl rollout undo
命令可以回滚到上一版本。 此外,您还可以使用
sleep
Linux命令等待一段时间

在Linux上:

sleep 900 && \
if [[ $(timeout 5 kubectl rollout status -f <deployment_file>.yaml) != *"successfully rolled out"* ]]; then     
    kubectl rollout undo -f <deployment_file>.yaml
fi > /dev/null 2>&1 &
sleep 900&&\
如果[[$(超时5 kubectl卷展状态-f.yaml)!=*“已成功推出”*];然后
kubectl-f.yaml
fi>/dev/null 2>&1&
timeout 5
如果在5秒后卡滞,则停止
kubectl卷展栏状态


/dev/null 2>&1&
在后台运行该命令,无需终端输出。

执行
kubectl apply
命令后,您可以检查部署是否成功展开,然后,如有必要,
kubectl rollout undo
命令可以回滚到以前的版本。 此外,您还可以使用
sleep
Linux命令等待一段时间

在Linux上:

sleep 900 && \
if [[ $(timeout 5 kubectl rollout status -f <deployment_file>.yaml) != *"successfully rolled out"* ]]; then     
    kubectl rollout undo -f <deployment_file>.yaml
fi > /dev/null 2>&1 &
sleep 900&&\
如果[[$(超时5 kubectl卷展状态-f.yaml)!=*“已成功推出”*];然后
kubectl-f.yaml
fi>/dev/null 2>&1&
timeout 5
如果在5秒后卡滞,则停止
kubectl卷展栏状态

/dev/null 2>&1&
在后台运行命令,不带终端输出