我正在尝试创建一个新的命名空间并在天蓝色管道中安装版本名称,但我的管道在一小时后超时。
这是代码:
- 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 任务需要内部管理员 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 ...
一起使用。