首页 > 解决方案 > AKS Kubernetes 与 Azure DevOps Pipeline - helm 升级错误

问题描述

我是一个完整的 Azure DevOps 菜鸟,尝试在 Azure DevOps 中设置一个 AKS 群集和一个发布管道,以使用 Helm 部署到它。

我创建了(禁用 RBAC,以简化流程)AKS 集群,将发布管道连接到它,使用 Azure Cloud Shell 连接到 AKS 集群并运行 helm init,但发布失败并出现以下问题:

2018-12-14T16:35:55.9461744Z ##[section]Starting: helm upgrade <REDACTED>
2018-12-14T16:35:55.9467164Z ==============================================================================
2018-12-14T16:35:55.9467299Z Task         : Package and deploy Helm charts
2018-12-14T16:35:55.9467387Z Description  : Deploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands.
2018-12-14T16:35:55.9467647Z Version      : 0.138.14
2018-12-14T16:35:55.9467963Z Author       : Microsoft Corporation
2018-12-14T16:35:55.9468016Z Help         : [More Information](https://go.microsoft.com/fwlink/?linkid=851275)
2018-12-14T16:35:55.9468114Z ==============================================================================
2018-12-14T16:35:58.3023980Z [command]/opt/hostedtoolcache/helm/2.11.0/x64/linux-amd64/helm upgrade --namespace dev --install --recreate-pods --force --values /home/vsts/work/r1/a/_<REDACTED>/helm-charts/<REDACTED>/values-dev.yaml --set image.tag=development --wait <REDACTED> /home/vsts/work/r1/a/_<REDACTED>/helm-charts/<REDACTED>
2018-12-14T16:40:57.6309603Z Release "<REDACTED>" does not exist. Installing it now.
2018-12-14T16:40:57.6311297Z Error: release <REDACTED> failed: timed out waiting for the condition
2018-12-14T16:40:57.6428880Z ##[error]Error: release <REDACTED> failed: timed out waiting for the condition

2018-12-14T16:40:57.6440575Z ##[section]Finishing: helm upgrade <REDACTED>

(注意,已删除敏感项目名称)。

标签: azurekubernetesazure-devopskubernetes-helmazure-aks

解决方案


由于您使用--wait标志进行部署

如果设置,将等到 Deployment 的所有 Pod、PVC、Service 和最小数量的 Pod 都处于就绪状态后,才会将发布标记为成功。它将等待--timeout

如果您有任何运行时间超过 300 秒的作业或挂钩,您可以设置--timeout n标记为您的作业需要完成的秒数。

如果您的部署中没有运行任何作业:

  • 检查您的所有 pod 是否都处于就绪状态。如果您有任何 Pod,例如CrashLoopBackoff状态,则 helm 将因超时而失败。
  • timeout如果您的 pod 需要超过 300 秒才能处于就绪状态,请找到最佳状态。

推荐阅读