繁体   English   中英

无法使用 OCI 将 Helm Chart 推送到 Google Cloud Artifact Registry

[英]Unable to push Helm Chart to Google Cloud Artifact Registry using OCI

我正在尝试将 helm chart 推送到 Google Cloud OCI注册表(Artifact Registry),但出现禁止错误:

helm push testapp-1.0.0.tgz oci://europe-north1-docker.pkg.dev/project-id/my-artifact-registry/

错误:授权失败:获取匿名令牌失败:意外状态:403 Forbidden

看来我已经通过身份验证了,因为当我尝试推送它但没有“oci://”时它工作正常:

helm chart push europe-north1-docker.pkg.dev/project-id/my-artifact-registry/charts/testapp:1.0.0

推送指的是存储库 [europe-north1-docker.pkg.dev/..]
参考:europe-north1-docker.pkg.dev/...
摘要:2757354aef8af2db48261d52c17c0df35a99d6fccaf016b0e67e167c391b69c7
大小:3.9 KiB
名称:测试应用
版本:1.0.0
1.0.0:推送到远程(1 层,总共 3.9 KiB)

我使用服务帐户 json 密钥登录到掌舵注册表,使用以下命令:

helm registry login -u _json_key_base64 --password <base_64_key> https://europe-north1-docker.pkg.dev

此服务帐户具有以下角色:

角色/artifactregistry.admin
角色/artifactregistry.repoAdmin
角色/artifactregistry.writer
角色/container.developer
角色/storage.admin
角色/storage.objectViewer

是否需要在 GCP 中启用任何特定权限才能使用“OCI”协议?

或者需要启用任何服务?

或需要任何不同的身份验证?

我按照此处的说明进行操作但没有成功

这很有趣,但这不是我第一次发生这种情况......一旦我将问题提交给 Stackoverflow,我就会遇到一些问题,我能够找到我的问题的问题!

无论如何,问题基本上在于身份验证,其中要登录的 URL 应采用以下格式:

https://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY

像这样:

helm registry login -u _json_key_base64 --password <base_64_key> \
   https://europe-north1-docker.pkg.dev/project-id/my-artifact-registry

我遇到了同样的问题,但使用了 Cloudbuild。 如果这段代码可以帮助某人,我很高兴。

steps:
  - name: 'alpine/helm:3.9.1'
    id: 'helm package'
    args: ['package', '.']
  - name: 'alpine/helm:3.9.1'
    id: 'helm push'
    env:
      - 'HELM_REGISTRY_CONFIG=../builder/home/.docker/config.json'
    entrypoint: 'sh'
    args:
      - '-c'
      - |
        helm push --debug mylibchart-*.tgz oci://europe-west3-docker.pkg.dev/$PROJECT_ID/helm-registry

基本上在我们要推送 *.tgz 的步骤中,我们需要将 env HELM_REGISTRY_CONFIG设置为等于 docker config.json 的默认路径。

这有点愚蠢,但我正在从容器注册表过渡到工件注册表,但我忘记为工件注册表授予我的服务帐户权限在此处输入图像描述 这导致了这个确切的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM