首页 > 解决方案 > 检查 Kubernetes 部署是否在 CI/CD 管道中成功

问题描述

我有一个 Kubernetes 版本 1.14.7 的 AKS 集群。

我已经构建了 CI/CD 管道以将新创建​​的映像部署到集群。

我正在使用 kubectl apply 来使用新映像更新特定部署。有时,由于多种原因,部署失败,例如 ImagePullBackOff。

在 kubectl apply 命令之后是否有命令运行以检查 pod 创建和部署是否成功?

标签: azurekubernetesdeploymentcontinuous-integrationazure-aks

解决方案


为此,Kubernetes 拥有 kubectl rollout并且您应该使用 option status

默认情况下,“推出状态”将观察最新推出的状态,直到完成。如果您不想等待部署完成,则可以使用 --watch=false。请注意,如果在此期间开始新的推出,则“推出状态”将继续查看最新版本。如果你想固定到一个特定的版本并在它被另一个版本翻转时中止,使用 --revision=N 其中 N 是你需要注意的版本。

你可以在这里阅读完整的描述

如果您使用kubect apply -f myapp.yaml并检查rollout status,您将看到:

$ kubectl rollout status deployment myapp
Waiting for deployment "myapp" rollout to finish: 0 of 3 updated replicas are available…
Waiting for deployment "myapp" rollout to finish: 1 of 3 updated replicas are available…
Waiting for deployment "myapp" rollout to finish: 2 of 3 updated replicas are available…
deployment "myapp" successfully rolled out

推荐阅读