我正在尝试创建一个新的命名空间并在azure管道中安装发布名称,但我的管道在一小时后超时。
代码如下:
- 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'
有人能帮忙处理这个案子吗?答案(我花了大约一天的时间阅读文档,因为我有同样的问题)很简单,你的HelmDeploy任务需要内部Admin 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权限。如果您想要更细粒度的东西,那么参考本讨论,您必须不使用专用的HelmDeploy任务,而使用AzureCLI@2
和helm upgrade ...
。