查看 Container Registry 使用情况

运行此工具可确定您的Google Cloud 项目、文件夹或组织是否有 Container Registry 用量。

准备工作

  1. Install the Google Cloud CLI.

  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. To initialize the gcloud CLI, run the following command:

    gcloud init

所需的角色

如需获得查看 Google Cloud 项目、文件夹或组织中的 Container Registry 使用情况所需的权限,请让您的管理员为您授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

查看 Container Registry 用量

您可以运行范围限定为单个 Google Cloud 项目、文件夹或组织的工具。

项目

运行以下命令可查找Google Cloud 项目中的任何 Container Registry 用量。

gcloud container images list-gcr-usage \
    --project=PROJECT

其中,PROJECT 是您的 Google Cloud 项目 ID。 如需了解如何查找项目 ID,请参阅识别项目

该工具会返回指定项目的托管位置列表及其使用状态。使用状态定义如下:

  • ACTIVE:过去 30 天内有 Container Registry 用量。主机位置和项目不会被重定向。
  • INACTIVE:过去 30 天内未使用过 Container Registry。宿主位置和项目不会被重定向。
  • REDIRECTED:项目已重定向到 Artifact Registry,但仍有 Container Registry Cloud Storage 存储分区。在 Container Registry 停用后,此项目将继续运行,无需执行进一步操作。您可以删除 Container Registry Cloud Storage 存储分区,以降低费用。
  • REDIRECTION_INCOMPLETE:请求会重定向到 Artifact Registry,但数据仍会从 Container Registry 复制。
  • LEGACY:Container Registry 用量未知。这种状态是由将容器映像元数据文件存储在 Cloud Storage 存储分区中的旧版 Container Registry 项目造成的。如需详细了解旧版 Container Registry 项目,请参阅容器映像元数据存储变更

如果该工具遇到错误(例如缺少查看 Cloud Storage 存储桶或 Container Registry 项目的权限),您会看到类似于以下内容的错误消息:

 repository: us.gcr.io/my-project
      usage: |-
        response: {'status': 401}
        Operation on project 'no-gcr-permission' failed. Caller does not have permission 'storage.objects.list'. To configure permissions, follow instructions at: https://cloud.google.com/container-registry/docs/access-control: None

文件夹

运行以下命令可在Google Cloud 文件夹中查找任何 Container Registry 用量。

gcloud container images list-gcr-usage \
    --folder=FOLDER

其中,FOLDER 是您的 Google Cloud 文件夹 ID。如需了解如何列出组织中的文件夹,请参阅列出文件夹

该工具会返回以下使用状态列表:

  • ACTIVE:过去 30 天内有 Container Registry 用量。主机位置和项目不会被重定向。
  • INACTIVE:过去 30 天内未使用过 Container Registry。宿主位置和项目不会被重定向。
  • REDIRECTED:项目已重定向到 Artifact Registry,但仍有 Container Registry Cloud Storage 存储分区。在 Container Registry 停用后,此项目将继续运行,无需执行进一步操作。您可以删除 Container Registry Cloud Storage 存储分区,以降低费用。
  • REDIRECTION_INCOMPLETE:请求会重定向到 Artifact Registry,但数据仍会从 Container Registry 复制。
  • LEGACY:Container Registry 用量未知。这种状态是由将容器映像元数据文件存储在 Cloud Storage 存储分区中的旧版 Container Registry 项目造成的。如需详细了解旧版 Container Registry 项目,请参阅容器映像元数据存储变更

如果该工具遇到错误(例如缺少查看 Cloud Storage 存储桶或 Container Registry 项目的权限),您会看到类似于以下内容的错误消息:

 repository: us.gcr.io/my-project
      usage: |-
        response: {'status': 401}
        Operation on project 'no-gcr-permission' failed. Caller does not have permission 'storage.objects.list'. To configure permissions, follow instructions at: https://cloud.google.com/container-registry/docs/access-control: None

组织

运行以下命令可查找Google Cloud 组织中的所有 Container Registry 使用情况。

gcloud container images list-gcr-usage \
    --organization=ORGANIZATION

其中 ORGANIZATION 是您的 Google Cloud 组织 ID。如需了解如何查找组织 ID,请参阅获取组织资源 ID

该工具会返回以下使用状态列表:

  • ACTIVE:过去 30 天内有 Container Registry 用量。主机位置和项目不会被重定向。
  • INACTIVE:过去 30 天内未使用过 Container Registry。宿主位置和项目不会被重定向。
  • REDIRECTED:项目已重定向到 Artifact Registry,但仍有 Container Registry Cloud Storage 存储分区。在 Container Registry 停用后,此项目将继续运行,无需执行进一步操作。您可以删除 Container Registry Cloud Storage 存储分区,以降低费用。
  • REDIRECTION_INCOMPLETE:请求会重定向到 Artifact Registry,但数据仍会从 Container Registry 复制。
  • LEGACY:Container Registry 用量未知。这种状态是由将容器映像元数据文件存储在 Cloud Storage 存储分区中的旧版 Container Registry 项目造成的。如需详细了解旧版 Container Registry 项目,请参阅容器映像元数据存储变更

如果该工具遇到错误(例如缺少查看 Cloud Storage 存储桶或 Container Registry 项目的权限),您会看到类似于以下内容的错误消息:

 repository: us.gcr.io/my-project
      usage: |-
        response: {'status': 401}
        Operation on project 'no-gcr-permission' failed. Caller does not have permission 'storage.objects.list'. To configure permissions, follow instructions at: https://cloud.google.com/container-registry/docs/access-control: None

过滤结果

如需控制列出哪些资源项,请传递 --filter=EXPRESSION 标志。如果给定项的表达式计算结果为 true,则会列出该项。

如需列出贵组织中的所有有效 Container Registry 使用情况,您可以按有效使用情况进行过滤:

gcloud container images list-gcr-usage \
    --organization=ORGANIZATION \
    --filter="usage=ACTIVE"

如需查找尚未重定向的所有项目,您可以按 usage!=REDIRECTED 进行过滤:

gcloud container images list-gcr-usage \
    --organization=ORGANIZATION \
    --filter="usage!=REDIRECTED"

如需详细了解过滤条件表达式,请运行 gcloud topic filters 或阅读参考文档

后续步骤