2.2.6. Registry 的存储
registry 存储容器镜像和元数据。如果您只是使用 registry 来部署 pod,它会使用一个在 pod 退出时销毁的临时卷。任何用户已构建或推送到 registry 的镜像都会消失。
本节列出了支持的 registry 存储驱动程序。如需更多信息,请参阅容器镜像 registry 文档。
以下列表包括在 registry 配置文件中需要配置的存储驱动程序:
- 文件系统。文件系统是默认设置,不需要进行配置。
- S3.如需更多信息,请参阅 CloudFront 配置 文档。
- OpenStack Swift
- Google Cloud Storage(GCS)
- Microsoft Azure
- Aliyun OSS
支持常规 registry 存储配置选项。如需更多信息,请参阅容器镜像 registry 文档。
以下存储选项需要通过文件系统驱动程序配置:
2.2.6.1. 产品使用
对于生产环境,请附加一个远程卷,或者 定义和使用您选择的持久性存储方法。
例如,使用现有持久性卷声明:
$ oc set volume deploymentconfigs/docker-registry --add --name=registry-storage -t pvc \ --claim-name=<pvc_name> --overwrite
测试显示,使用 RHEL NFS 服务器作为容器镜像 registry 的存储后端会出现问题。这包括 OpenShift Container Registry 和 Quay。因此,不建议使用 RHEL NFS 服务器来备份核心服务使用的 PV。
市场上的其他 NFS 实现可能没有这些问题。如需了解更多与此问题相关的信息,请联络相关的 NFS 厂商。
2.2.6.1.1. 使用 Amazon S3 作为存储后端
还有一个选项,可以将 Amazon Simple Storage Service 存储与内部容器镜像 registry 搭配使用。它是一种安全云存储,可通过 AWS 管理控制台进行管理。要使用它,必须手动编辑注册表的配置文件并将其挂载到 registry Pod。但是,在开始配置之前,请查看上游的建议步骤。
采用 默认 YAML 配置文件作为基础,并将 storage 部分中的 filesystem 条目替换为 s3 条目,如下方所示:生成的存储部分可能类似如下:
storage: cache: layerinfo: inmemory delete: enabled: true s3: accesskey: awsaccesskey 1 secretkey: awssecretkey 2 region: us-west-1 regionendpoint: http://myobjects.local bucket: bucketname encrypt: true keyid: mykeyid secure: true v4auth: false chunksize: 5242880 rootdirectory: /s3/object/name/prefix
所有 s3 配置选项都记录在上游 驱动程序参考文档中。
覆盖 registry 配置将引导您完成将配置文件挂载到 pod 的其他步骤。
当 registry 在 S3 存储后端上运行时,会报告问题。
如果要使用您正在使用的集成 registry 不支持的 S3 区域,请参阅 S3 驱动程序配置。