3.4.2. 非受管存储

以下示例使用 NooBaa 存储,但可应用于其他镜像存储选项,如 Azure、S3 等。

  1. 在控制台中在 Storage → Object Bucket Claims 下创建一个 NooBaa Object Bucket Claim。
  2. 检索 Object Bucket Claim Data details,包括 Access Key, Bucket Name, Endpoint (hostname)和 Secret Key。
  3. 使用 Object Bucket Claim 的信息,创建 config.yaml 配置文件:

    DISTRIBUTED_STORAGE_CONFIG:
      default:
        - RHOCSStorage
        - access_key: WmrXtSGk8B3nABCDEFGH
          bucket_name: my-noobaa-bucket-claim-8b844191-dc6c-444e-9ea4-87ece0abcdef
          hostname: s3.openshift-storage.svc
          is_secure: true
          port: "443"
          secret_key: X9P5SDGJtmSuHFCMSLMbdNCMfUABCDEFGH+C5QD
          storage_path: /datastorage/registry
    DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
    DISTRIBUTED_STORAGE_PREFERENCE:
      - default
  4. 使用配置文件创建 Secret:

    $ kubectl create secret generic --from-file config.yaml=./config.yaml config-bundle-secret
  5. 创建一个 QuayRegistry YAML 文件 quayregistry.yaml,它将存储组件标记为非受管,并引用创建的 Secret:

    quayregistry.yaml

    apiVersion: quay.redhat.com/v1
    kind: QuayRegistry
    metadata:
      name: test
    spec:
      configBundleSecret: config-bundle-secret
      components:
        - kind: storage
          managed: false

  6. 创建 QuayRegistry:

    oc create -f quayregistry.yaml

部署的 Quay 应用现在使用创建的存储。