×

为镜像注册表操作符配置密钥

除了configs.imageregistry.operator.openshift.io和 ConfigMap 资源外,操作符的配置还通过位于openshift-image-registry命名空间中的单独密钥资源提供。

image-registry-private-configuration-user密钥提供存储访问和管理所需的凭据。如果找到默认凭据,它会覆盖操作符使用的默认凭据。

对于 AWS 上的 S3 存储,密钥应包含两个键:

  • REGISTRY_STORAGE_S3_ACCESSKEY

  • REGISTRY_STORAGE_S3_SECRETKEY

步骤
  • 创建一个包含所需密钥的 OpenShift Container Platform 密钥。

    $ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=myaccesskey --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=mysecretkey --namespace openshift-image-registry

使用用户预配的基础设施为 AWS 配置注册表存储

安装期间,您的云凭据足以创建 Amazon S3 存储桶,并且注册表操作符将自动配置存储。

如果注册表操作符无法创建 S3 存储桶并自动配置存储,您可以创建一个 S3 存储桶并按照以下步骤配置存储。

先决条件
  • 您在 AWS 上拥有一个使用用户预配的基础设施的集群。

  • 对于 Amazon S3 存储,密钥应包含两个键:

    • REGISTRY_STORAGE_S3_ACCESSKEY

    • REGISTRY_STORAGE_S3_SECRETKEY

步骤

如果注册表操作符无法创建 S3 存储桶并自动配置存储,请使用以下步骤。

  1. 设置一个存储桶生命周期策略,以中止一天前未完成的多部分上传。

  2. configs.imageregistry.operator.openshift.io/cluster中填写存储配置

    $ oc edit configs.imageregistry.operator.openshift.io/cluster
    配置示例
    storage:
      s3:
        bucket: <bucket-name>
        region: <region-name>

为了保护您在 AWS 中的注册表镜像安全,请阻止对 S3 存储桶的公共访问

AWS S3 的镜像注册表 Operator 配置参数

以下配置参数可用于 AWS S3 注册表存储。

镜像注册表spec.storage.s3配置参数包含将注册表配置为使用 AWS S3 服务作为后端存储的信息。更多信息,请参见S3 存储驱动程序文档

参数 描述

bucket

Bucket 是您想要存储注册表数据的存储桶名称。它是可选的,如果未提供则会自动生成。

chunkSizeMiB

ChunkSizeMiB 是 S3 API 的分块上传块的大小。默认为10 MiB,最小值为5 MiB。

region

Region 是存储桶所在的 AWS 区域。它是可选的,根据已安装的 AWS 区域设置。

regionEndpoint

RegionEndpoint 是与 S3 兼容的存储服务的端点。它是可选的,默认为提供的 Region。

virtualHostedStyle

VirtualHostedStyle 启用使用具有自定义 RegionEndpoint 的 S3 虚拟托管样式存储桶路径。它是可选的,默认为 false。

设置此参数可在隐藏区域部署 OpenShift Container Platform。

encrypt

Encrypt 指定注册表是否以加密格式存储镜像。它是可选的,默认为 false。

keyID

KeyID 是用于加密的 KMS 密钥 ID。它是可选的。Encrypt 必须为 true,否则此参数将被忽略。

cloudFront

CloudFront 将 Amazon Cloudfront 配置为注册表中的存储中间件。它是可选的。

trustedCA

trustedCA引用的配置映射的命名空间是openshift-config。配置映射中 bundle 的键是ca-bundle.crt。它是可选的。

regionEndpoint参数的值配置为 Rados Gateway 的 URL 时,不能指定显式端口。例如:

regionEndpoint: http://rook-ceph-rgw-ocs-storagecluster-cephobjectstore.openshift-storage.svc.cluster.local