Helm 注册表登录 ACR

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

我正在尝试使用 OCI 注册表 (ACR) 来存储我的舵图。我已经找到了推送和拉取图表的方法,但我无法以 OCI 本机方式登录注册表。

目前我可以通过以下方式登录:

 az acr login --name myacr

我想使用

helm registry login myacr.azurecr.io
但失败了

Error: Get https://myacr.azurecr.io/v2/: unauthorized: Application not registered with AAD.

这是什么意思?我需要在 AAD 和 ACR 之间执行一些设置吗?

更新

当我尝试使用 AAD 中的用户帐户(用户名作为名称,密码作为密码)进行

helm registry login
时,出现上述错误。

如果我尝试使用服务主体登录,它会起作用。

如果我尝试通过

此方法
使用00000000-0000-0000-0000-000000000000帐户登录,这也有效。

我怀疑用户帐户还需要做一些额外的事情,但我不确定那是什么。

kubernetes-helm azure-container-registry
3个回答
1
投票

您遇到的问题是身份验证类型的问题。 Here 显示了所有可用的身份验证方法,但不包含用户帐户。意思是目前不支持。而目前可控的认证方式就是服务主体。您只能在获得适当许可的情况下授予它。


0
投票

并不是真正的答案,但可能想遵循https://github.com/Azure/azure-cli/issues/14467

还评论说,我已降级到 helm v3.3.3 并继续使用以下命令验证/添加 ACR 存储库

az acr helm repo add --name <containerregistry>

0
投票

在最新版本的 helm 中你可以这样做

aws ecr get-login-password --region <aws-region> --profile <aws-prfile-if-any> | helm registry login --username AWS --password-stdin aws-account.dkr.ecr.aws-region.amazonaws.com

那么你可以尝试做这样的事情:

helm pull oci://<aws-account>.dkr.ecr.<aws-region>.amazonaws.com/hart-name --version XX.X.XX
© www.soinside.com 2019 - 2024. All rights reserved.