azure - 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>
(注意,已删除敏感项目名称)。
解决方案
由于您使用--wait标志进行部署
如果设置,将等到 Deployment 的所有 Pod、PVC、Service 和最小数量的 Pod 都处于就绪状态后,才会将发布标记为成功。它将等待--timeout
如果您有任何运行时间超过 300 秒的作业或挂钩,您可以设置--timeout n
标记为您的作业需要完成的秒数。
如果您的部署中没有运行任何作业:
- 检查您的所有 pod 是否都处于就绪状态。如果您有任何 Pod,例如CrashLoopBackoff状态,则 helm 将因超时而失败。
timeout
如果您的 pod 需要超过 300 秒才能处于就绪状态,请找到最佳状态。
推荐阅读
- react-native - 尝试单击图像以导航到不同的屏幕,但单击时没有导航
- c# - C#:如何为以下类型的类实现 GetHashCode?
- go - Go time.Time.UTC() 有时给出 7 位数字,有时给出 9
- c# - 使用文本框 (asp.net) 防止同时、插入或导入重复记录
- php - 如何将 symfony 项目从 mvc 更改为客户端-服务器架构?
- node.js - 如何将 node.js 应用程序打包成单个文件(不捆绑 node.js 本身)?
- php - 从 php 脚本调用 nodejs 脚本
- python - 如何更改我的 OneHotEncoder 以准备更改
- c# - 将 JSON 转换为类 c#
- python-3.x - Python3:德语字母和 unicode utf8