调整 Artifact Registry 存储空间的大小

本页面介绍了如何检查存储空间可用性,以及在需要更多容量时如何调整 Artifact Registry 存储空间的大小。

如果在升级过程中,Artifact Registry 中没有足够的可用存储空间,导致操作失败,请按以下说明操作。

准备工作

如需检查存储空间可用性并调整 Artifact Registry 存储空间的大小,您必须拥有必要的身份和访问权限角色:

  • 系统制品注册表调试器:拥有对所有 Harbor 资源的读取和写入权限。请让您的 Security Admin 为您授予 System Artifact Registry Debugger (sar-debugger) 集群角色。

检查组织基础架构集群中 Artifact Registry 的存储空间用量

您可以查看组织基础架构集群中当前的 Artifact Registry 存储空间用量,以确定存储空间分配的后续步骤。 请按以下步骤操作:

  1. 导出组织基础架构集群 Artifact Registry 的 kubeconfig 路径:

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    KUBECONFIG_FILE_PATH 替换为组织基础架构集群的 kubeconfig 文件的路径。

  2. 将现有的 Artifact Registry pod 设置为环境变量:

    pod=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG get pods -n harbor-system -l goharbor.io/operator-controller=registry -o name)
    
  3. 输出 Artifact Registry 存储空间使用情况:

    kubectl --kubeconfig $ORG_INFRA_KUBECONFIG exec $pod -n harbor-system \
        -c registry -- df -h
    

    在输出中找到装载路径 /var/lib/registry,以查看 Artifact Registry 存储空间用量。以下示例输出显示,Artifact Registry 存储空间使用率为 40%,剩余空间为 85 GB:

    Filesystem                                    Size Used Avail Use% Mounted on
    overlay                                       484G  43G  441G   9% /
    tmpfs                                          64M    0   64M   0% /dev
    tmpfs                                          24G    0   24G   0% /sys/fs/cgroup
    /dev/sda1                                     484G  43G  441G   9% /storage
    tmpfs                                          43G  12K   43G   1% /harbor_cust_cert/ca.crt
    shm                                            64M    0   64M   0% /dev/shm
    tmpfs                                          43G 4.0K   43G   1% /etc/registry/auth
    /dev/mapper/3600a09807770457a795d5452356a3345 147G  54G   85G  40% /var/lib/registry
    tmpfs                                          24G    0   24G   0% /proc/acpi
    tmpfs                                          24G    0   24G   0% /proc/scsi
    tmpfs                                          24G    0   24G   0% /sys/firmware
    

    验证 /var/lib/registry 文件系统的 Avail 大小是否大于要上传的映像文件的大小。如有必要,您可以按照下一部分中的步骤调整此存储空间的大小。

应用新的存储空间大小

如有必要,您可以调整 Artifact Registry 的存储空间大小。 请按以下步骤操作:

  1. 创建新的环境变量,并将其设置为新的 PVC 存储空间大小:

    STORAGE_SIZE=400G
    
  2. 将新的存储空间大小应用于 Artifact Registry:

    kubectl --kubeconfig $ORG_INFRA_KUBECONFIG patch Persistentvolumeclaim/harbor-registry \
        -n harbor-system --type=merge \
        -p '{"spec": {"resources": {"requests": {"storage": "'$STORAGE_SIZE'"}}}}'
    
  3. 重启 Artifact Registry pod 以实现新的存储空间大小更新:

    kubectl --kubeconfig $ORG_INFRA_KUBECONFIG rollout restart deployment \
        -n harbor-system harbor-harbor-harbor-registry
    
  4. 通过检查 Artifact Registry 来验证您的用量和容量增加情况。