5.2. 将非受管组件用于依赖项


如果您有要与 Quay 搭配使用的现有组件,如 Postgres、Redis 或对象存储,则首先在 Quay 配置捆绑包(config.yaml)中配置它们,然后引用 QuayRegistry (作为 Kubernetes Secret)中的捆绑包,同时指明哪些组件非受管。

注意

Quay config 编辑器也可用于创建或修改现有的 config bundle,并简化更新 Kubernetes Secret 的过程,特别是多个更改。当通过配置编辑器更改 Quay 的配置并发送到 Operator 时,Quay 部署将会更新,以反映新的配置。

5.2.1. 使用现有的 Postgres 数据库

要求:

如果您使用外部管理的 PostgreSQL 数据库,您必须手动启用 pg_trgm 扩展才能成功部署。

  1. 使用必要的数据库字段创建配置文件 config.yaml

    config.yaml:

    DB_URI: postgresql://test-quay-database:postgres@test-quay-database:5432/test-quay-database
    Copy to Clipboard Toggle word wrap

  2. 使用配置文件创建 Secret:

    $ kubectl create secret generic --from-file config.yaml=./config.yaml config-bundle-secret
    Copy to Clipboard Toggle word wrap
  3. 创建一个 QuayRegistry YAML 文件 quayregistry.yaml,它将 postgres 组件标记为非受管,并引用所创建的 Secret:

    quayregistry.yaml

    apiVersion: quay.redhat.com/v1
    kind: QuayRegistry
    metadata:
      name: example-registry
      namespace: quay-enterprise
    spec:
      configBundleSecret: config-bundle-secret
      components:
        - kind: postgres
          managed: false
    Copy to Clipboard Toggle word wrap

  4. 按照以下部分的详细信息,部署 registry。

5.2.2. NooBaa 非受管存储

  1. 在 Storage Object Bucket Claims 的控制台中创建一个 NooBaa Object Bucket Claims。
  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.cluster.local
          is_secure: true
          port: "443"
          secret_key: X9P5SDGJtmSuHFCMSLMbdNCMfUABCDEFGH+C5QD
          storage_path: /datastorage/registry
    DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
    DISTRIBUTED_STORAGE_PREFERENCE:
      - default
    Copy to Clipboard Toggle word wrap

5.2.3. Pod 横向自动扩展

Pod 横向自动扩展(HPA)已添加到 ClairQuayMirror pod 中,以便在负载激增过程中自动扩展。

由于 HPA 默认配置为 managed,因此 ClairQuayMirror Pod 的数量被设置为 2。这有助于避免在 Operator 更新或重新配置 Red Hat Quay 时或重新调度事件期间避免停机。

5.2.3.1. 禁用 Horizontal Pod Autoscaler

要禁用自动扩展或创建自己的 HorizontalPodAutoscaler,请在 QuayRegistry 实例中将组件指定为 unmanaged。例如:

apiVersion: quay.redhat.com/v1
kind: QuayRegistry
metadata:
  name: example-registry
  namespace: quay-enterprise
spec:
  components:
    - kind: horizontalpodautoscaler
      managed: false
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat