第 5 章 Quay Operator 组件
Quay 是一个强大的容器 registry 平台,因此有多个依赖项。它们包括数据库、对象存储、Redis 等。Quay Operator 管理对 Quay 的意见部署及其对 Kubernetes 的依赖项。这些依赖项被视为 组件,并通过 QuayRegistry
API 配置。
在 QuayRegistry
自定义资源中,spec.components
字段配置组件。每个组件包含两个字段: kind
- 组件的名称,managed
- 布尔值(无论组件生命周期是由 Operator 处理)。默认情况下(显示此字段),所有组件都将在协调后自动填充,以获得可见性:
spec: components: - managed: true kind: clair - managed: true kind: postgres - managed: true kind: objectstorage - managed: true kind: redis - managed: true kind: horizontalpodautoscaler - managed: true kind: route - managed: true kind: mirror - managed: true kind: monitoring - managed: true kind: tls
5.1. 使用受管组件
除非 QuayRegistry
自定义资源指定其他,否则 Operator 将对以下受管组件使用默认值:
- Postgres : 要存储 registry 元数据,请使用 Software Collections中的 Postgres 10 版本
- Redis: 处理 Quay 构建器协调和一些内部日志记录
-
objectstorage: 用于存储镜像层 blob,使用 Noobaa/RHOCS 提供的
ObjectBucketClaim
Kubernetes API - Clair: 提供镜像漏洞策略扫描
- HorizontalPodAutoscaler: 根据 memory/cpu 消耗调整 Quay pod 的数量
- mirror: 配置存储库镜像 worker(支持可选存储库镜像)
- Route: 从外部 OpenShift 提供指向 Quay registry 的外部入口点
- monitoring: 功能包括 Grafana 仪表板、对单个指标的访问以及通知的提示以经常重启 Quay Pod
- TLS: 配置 Red Hat Quay 或 OpenShift 是否处理 TLS
Operator 将处理 Red Hat Quay 使用受管组件所需的配置和安装工作。如果 Quay Operator 对环境的意见进行了建议,您可以为 Operator 提供 非受管
资源(overrides)的 Operator,如以下部分所述。