Helm Azure Devops因管道破裂错误而失败

时间:2019-03-25 16:39:44

标签: azure-devops kubernetes-helm

我在Azure Devops中有一个部署管道,可以将图表部署到我的Kubernetes群集中。我正在使用内置的Helm任务执行以下操作:

  1. 安装Helm Client
  2. 创建分iller
  3. 部署由单独的构建任务删除的图表

我的分iller升级YAML(第3步)如下:

steps:
- task: HelmDeploy@0
  displayName: 'helm upgrade'
  inputs:
    azureSubscription: '****'
    azureResourceGroup: '****'
    kubernetesCluster: ****
    command: upgrade
    chartType: FilePath
    chartPath: '$(System.DefaultWorkingDirectory)/_Helm Chart Package/charts/****.tgz'
    releaseName: ****
    waitForExecution: false
    enableTls: true
    caCert: '****'
    certificate: '****'
    privatekey: '****'

请注意,尽管我看不到YAML中的安装方式,但已选中“如果不存在则安装”。

有时可以正常工作,但在大多数情况下,我会收到以下异常:

  

3627 portforward.go:363]从远程流复制到本地错误   连接:从tcp4读取127.0.0.1:33429->127.0.0.1:39710:写入tcp4   127.0.0.1:33429->127.0.0.1:39710:写:破损的管道

这总是在成功部署我的图表之后发生。我尝试删除--wait参数,但这没有帮助,该任务仍然失败,导致我的部署管道失败。 Helm Github上存在一个已知的问题,但是有没有一种方法可以使该错误不会使我的任务失败,从而使我的部署管道失败?

1 个答案:

答案 0 :(得分:0)

您可以在配置任务时(在控制选项下)选择“继续出错”,这样做就可以,并在出现错误后继续运行。

尽管,我必须承认我根本看不到该错误,在创建AKS后立即创建头盔发布时有时会看到此错误,并且AKS带来了系统Pod,因此负载很大。