3.5. 配置其他组件
3.5.1. 使用外部 Redis 复制链接链接已复制到粘贴板!
如果要使用外部 Redis 数据库,请将组件设置为 QuayRegistry 实例中的非受管:
使用所需的 redis 字段创建配置文件
config.yaml:BUILDLOGS_REDIS: host: quay-server.example.com port: 6379 ssl: false USER_EVENTS_REDIS: host: quay-server.example.com port: 6379 ssl: false使用配置文件创建 Secret
$ oc create secret generic --from-file config.yaml=./config.yaml config-bundle-secret创建 QuayRegistry YAML 文件
quayregistry.yaml,它将 redis 组件标记为非受管状态,并引用所创建的 Secret:apiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: example-registry namespace: quay-enterprise spec: configBundleSecret: config-bundle-secret components: - kind: redis managed: false- 部署 registry
3.5.1.1. Redis 配置字段 复制链接链接已复制到粘贴板!
本节详细介绍了 Redis 部署可用的配置字段。
3.5.1.1.1. 构建日志 复制链接链接已复制到粘贴板!
以下构建日志配置字段可用于 Redis 部署:
| 字段 | 类型 | 描述 |
|---|---|---|
|
BUILDLOGS_REDIS | 对象 | Redis 构建日志缓存的连接详情。 |
|
.host | 字符串 |
可以访问 Redis 的主机名。 |
|
.port | Number |
访问 Redis 的端口。 |
| .password | 字符串 |
可以访问 Redis 的端口。 |
|
.port | Number |
访问 Redis 的端口。 |
| ssl | 布尔值 | 是否启用 Redis 和 Quay 之间的 TLS 通信。默认为false。 |
3.5.1.1.2. 用户事件 复制链接链接已复制到粘贴板!
以下用户事件字段可用于 Redis 部署:
| 字段 | 类型 | 描述 |
|---|---|---|
|
USER_EVENTS_REDIS | 对象 | Redis 连接详情,用于用户事件处理。 |
|
.host | 字符串 |
可以访问 Redis 的主机名。 |
|
.port | Number |
访问 Redis 的端口。 |
| .password | 字符串 |
可以访问 Redis 的端口。 |
| ssl | 布尔值 | 是否启用 Redis 和 Quay 之间的 TLS 通信。默认为false。 |
3.5.1.1.3. Redis 配置示例 复制链接链接已复制到粘贴板!
以下 YAML 显示了使用 Redis 的配置示例:
BUILDLOGS_REDIS:
host: quay-server.example.com
password: strongpassword
port: 6379
ssl: true
USER_EVENTS_REDIS:
host: quay-server.example.com
password: strongpassword
port: 6379
ssl: true
如果您的部署使用 Redis 的 Azure 缓存,并且 ssl 设置为 true,则端口默认为 6380。
3.5.2. 禁用 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
3.5.3. 禁用 Route 组件 复制链接链接已复制到粘贴板!
要防止 Operator 创建路由 :
将组件标记为
QuayRegistry中的非受管:apiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: example-registry namespace: quay-enterprise spec: components: - kind: route managed: false通过编辑
config.yaml文件,指定您希望 Quay 在配置中处理 TLS:config.yaml
... EXTERNAL_TLS_TERMINATION: false ... SERVER_HOSTNAME: example-registry-quay-quay-enterprise.apps.user1.example.com ... PREFERRED_URL_SCHEME: https ...如果您无法正确配置非受管路由,您会看到类似如下的错误:
{ { "kind":"QuayRegistry", "namespace":"quay-enterprise", "name":"example-registry", "uid":"d5879ba5-cc92-406c-ba62-8b19cf56d4aa", "apiVersion":"quay.redhat.com/v1", "resourceVersion":"2418527" }, "reason":"ConfigInvalid", "message":"required component `route` marked as unmanaged, but `configBundleSecret` is missing necessary fields" }
禁用默认 Route 意味着,您现在需要负责创建访问 Quay 实例的 Route, Service, 或 Ingress,无论您使用什么 DNS,都需要匹配 Quay 配置中的 SERVER_HOSTNAME。
3.5.4. 非受管监控 复制链接链接已复制到粘贴板!
如果在单一命名空间中安装 Quay Operator,则监控组件会自动设置为 'unmanaged'。要在这种情况下启用监控,请查看 第 8.2 节 “在单一命名空间中安装 Operator 时启用监控” 部分。
显式禁用监控:
apiVersion: quay.redhat.com/v1
kind: QuayRegistry
metadata:
name: example-registry
namespace: quay-enterprise
spec:
components:
- kind: monitoring
managed: false
3.5.5. 非受管镜像 复制链接链接已复制到粘贴板!
显式禁用镜像:
apiVersion: quay.redhat.com/v1
kind: QuayRegistry
metadata:
name: example-registry
namespace: quay-enterprise
spec:
components:
- kind: mirroring
managed: false