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


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

注意

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

5.2.1. 使用现有的 Postgres 数据库

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

    config.yaml:

    DB_URI: postgresql://test-quay-database:postgres@test-quay-database:5432/test-quay-database

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

    $ kubectl create secret generic --from-file config.yaml=./config.yaml config-bundle-secret
  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

  4. 按照以下部分所述部署 registry。

5.2.2. NooBaa 非受管存储

  1. 在 Storage Object Bucket Claims 的控制台中创建一个 NooBaa Object Bucket Claim。
  2. 检索 Object Bucket Claim Data 的详情,包括 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

5.2.3. 禁用 Horizontal Pod Autoscaler

HorizontalPodAutoscalers 已添加到 Clair、Quay 和 Mirror pod 中,以便在负载高峰期间自动扩展。

由于 HPA 默认被配置为 managed,Quay 的 pod 数量,Clair 和存储库镜像数被设为 2。这有助于在通过 Operator 更新/配置 Quay 或重新调度事件期间出现停机的问题。

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

apiVersion: quay.redhat.com/v1
kind: QuayRegistry
metadata:
  name: example-registry
  namespace: quay-enterprise
spec:
  components:
    - kind: horizontalpodautoscaler
      managed: false
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.