Azure Pipelines 的 HELM 升级/安装问题

问题描述 投票:0回答:1

我正在尝试创建一个新的命名空间并在天蓝色管道中安装版本名称,但我的管道在一小时后超时。

这是代码:

- task: HelmDeploy@0 
  displayName: Dry run for upgrade 
  inputs: 
    connectionType: $(connectionType) 
    azureSubscription: $(azureServiceConnection) 
    azureResourceGroup: $(azureResourceGroup) 
    kubernetesCluster: $(kubernetesCluster) 
    namespace: '$(namespace)' 
    command: 'upgrade' 
    chartType: 'Name' 
    chartName: $(chartName) 
    releaseName: $(releaseName) 
    valueFile: $(valueFile) 
    install: true 
    waitForExecution: true 
    arguments: '--timeout 1h0m0s --create-namespace --install'

有人可以帮忙处理这个案子吗?

azure-devops azure-pipelines kubernetes-helm
1个回答
0
投票

答案(我花了大约一天的时间阅读文档才找到答案,因为我也遇到了同样的问题)就是您的 HelmDeploy 任务需要内部管理员 RBAC 权限。

修复代码的最简单方法是将

useClusterAdmin: true
添加到您的
HelmDeploy@0
任务中,例如添加最后一行:

- task: HelmDeploy@0 
  displayName: Dry run for upgrade 
  inputs: 
    connectionType: $(connectionType) 
    azureSubscription: $(azureServiceConnection) 
    azureResourceGroup: $(azureResourceGroup) 
    kubernetesCluster: $(kubernetesCluster)
    namespace: '$(namespace)' 
    command: 'upgrade' 
    chartType: 'Name' 
    chartName: $(chartName) 
    releaseName: $(releaseName) 
    valueFile: $(valueFile) 
    install: true 
    waitForExecution: true 
    arguments: '--timeout 1h0m0s --create-namespace --install'
    useClusterAdmin: true

为了清楚起见,这将绕过集群的 RBAC 权限。如果您想要更细粒度的东西,那么参考 this dicussion,您不必使用专用的 HelmDeploy 任务,而将

AzureCLI@2
helm upgrade ...
一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.