9.10. 标签和镜像管理
本节论述了控制如何在 Red Hat Quay 中管理标签和镜像的配置字段。这些设置有助于自动进行镜像清理、管理存储库镜像,并通过缓存提高性能。
您可以使用这些字段来:
- 为未标记或过时的镜像定义过期策略。
- 启用并调度外部存储库镜像到 registry。
- 利用模型缓存来优化标签和存储库操作的性能。
这些选项有助于维护最新的镜像 registry 环境。
9.10.1. 标签过期配置字段 复制链接链接已复制到粘贴板!
以下配置选项可用于自动标记过期和垃圾收集。这些功能通过启用根据定义的策略清理未使用或过期的标签,从而帮助管理存储使用情况。
| 字段 | 类型 | 描述 |
|---|---|---|
| FEATURE_GARBAGE_COLLECTION | 布尔值 |
是否启用垃圾回收存储库。 |
|
TAG_EXPIRATION_OPTIONS | 字符串数组 |
如果启用,用户可以选择在其命名空间中过期标签的选项。 |
|
DEFAULT_TAG_EXPIRATION | 字符串 |
默认可配置的时间时间用于时间机器。 |
| FEATURE_CHANGE_TAG_EXPIRATION | 布尔值 |
是否允许用户和机构更改其命名空间中标签过期时间。 |
| FEATURE_AUTO_PRUNE | 布尔值 |
当设置为 |
| NOTIFICATION_TASK_RUN_MINIMUM_INTERVAL_MINUTES | 整数 |
间隔(以分钟为单位),定义过期镜像重新运行通知的频率。 |
| DEFAULT_NAMESPACE_AUTOPRUNE_POLICY | 对象 | 默认机构范围的自动修剪策略。 |
| .method: number_of_tags | 对象 | 选项指定要保留的标签数的选项。 |
| .value: <integer> | 整数 |
与 方法一起使用时: number_of_tags,表示要保留的标签数。
例如,若要保留两个标签,请指定 |
| .creation_date | 对象 | 选项指定保留标签的持续时间。 |
| .value: <integer> | 整数 |
与 creation_date 一起使用时,表示保留标签的时间。
可以设置为秒( |
| AUTO_PRUNING_DEFAULT_POLICY_POLL_PERIOD | 整数 | 自动修剪 worker 在 registry 级别运行的时间。默认情况下,它被设置为每天运行一次(每 24 小时一次)。值必须以秒为单位。 |
| FEATURE_IMAGE_EXPIRY_TRIGGER | 布尔值 |
允许用户在镜像过期上设置通知。 |
标签过期示例 YAML 示例
# ...
FEATURE_GARBAGE_COLLECTION: true
TAG_EXPIRATION_OPTIONS:
- 1w
- 2w
- 1m
- 90d
DEFAULT_TAG_EXPIRATION: 2w
FEATURE_CHANGE_TAG_EXPIRATION: true
FEATURE_AUTO_PRUNE: true
NOTIFICATION_TASK_RUN_MINIMUM_INTERVAL_MINUTES: 300
DEFAULT_NAMESPACE_AUTOPRUNE_POLICY:
method: number_of_tags
value: 10
AUTO_PRUNING_DEFAULT_POLICY_POLL_PERIOD: 86400
FEATURE_IMAGE_EXPIRY_TRIGGER: false
# ...
- 1
- 指定要保留的十个标签。
通过创建日期示例 YAML 自动修剪策略
# ...
DEFAULT_NAMESPACE_AUTOPRUNE_POLICY:
method: creation_date
value: 1y
# ...
- 1
- 指定要在创建日期后的一年内修剪的标签。
9.10.2. 镜像配置字段 复制链接链接已复制到粘贴板!
Red Hat Quay 中的镜像可启用自动同步存储库与上游源。此功能可用于维护远程容器镜像的本地镜像,确保在断开连接的环境中可用性或通过缓存提高性能。
其他信息
| 字段 | 类型 | 描述 |
|---|---|---|
| FEATURE_REPO_MIRROR | 布尔值 |
启用或禁用存储库镜像 |
| REPO_MIRROR_INTERVAL | Number |
检查存储库镜像候选间隔的秒数 |
| REPO_MIRROR_SERVER_HOSTNAME | 字符串 |
替换 |
| REPO_MIRROR_TLS_VERIFY | 布尔值 |
在镜像过程中需要 HTTPS 并验证 Quay registry 的证书。 |
| REPO_MIRROR_ROLLBACK | 布尔值 |
当设置为
默认 : |
镜像配置示例 YAML
# ...
FEATURE_REPO_MIRROR: true
REPO_MIRROR_INTERVAL: 30
REPO_MIRROR_SERVER_HOSTNAME: "openshift-quay-service"
REPO_MIRROR_TLS_VERIFY: true
REPO_MIRROR_ROLLBACK: false
# ...
9.10.3. ModelCache 配置字段 复制链接链接已复制到粘贴板!
ModelCache 是 Red Hat Quay 用来存储访问的数据并减少数据库负载的缓存机制。Quay 支持多种缓存后端,包括默认 Memcache,以及 Redis 和 Redis Cluster。
- memcache (默认):不需要额外的配置。
- Redis: 可以配置为单个实例,也可以使用只读副本。
- Redis 集群 :为大型部署提供高可用性和分片。
| 字段 | 类型 | 描述 |
|---|---|---|
| DATA_MODEL_CACHE_CONFIG.engine | 字符串 |
缓存后端引擎。 |
| .redis_config.primary.host | 字符串 |
使用 |
| .redis_config.primary.port | Number | 主 Redis 实例使用的端口。 |
| .redis_config.primary.password | 字符串 |
使用主 Redis 实例进行身份验证的密码。仅在 |
| .redis_config.primary.ssl | 布尔值 | 是否将 SSL/TLS 用于主 Redis 连接。 |
| .redis_config.startup_nodes | Map 数组 |
用于 |
| redis_config.password | 字符串 |
用于与 Redis 集群进行身份验证的密码。如果 |
| .redis_config.read_from_replicas | 布尔值 | 是否允许从 Redis 集群副本读取操作。 |
| .redis_config.skip_full_coverage_check | 布尔值 | 如果设置为 true,则跳过 Redis 集群的完整覆盖范围检查。 |
| .redis_config.ssl | 布尔值 | 是否将 SSL/TLS 用于 Redis 集群通信。 |
| .replica.host | 字符串 | Redis 副本实例的主机名。可选。 |
| .replica.port | Number | Redis 副本实例使用的端口。 |
| .replica.password | 字符串 |
Redis 副本的密码。如果 |
| .replica.ssl | 布尔值 | 是否将 SSL/TLS 用于 Redis 副本连接。 |
带有可选副本示例 YAML 的单一 Redis
# ...
DATA_MODEL_CACHE_CONFIG:
engine: redis
redis_config:
primary:
host: <redis-primary.example.com>
port: 6379
password: <redis_password>>
ssl: true
replica:
host: <redis-replica.example.com>
port: 6379
password: <redis_password>
ssl: true
# ...
集群 Redis 示例 YAML
# ...
DATA_MODEL_CACHE_CONFIG:
engine: <rediscluster>
redis_config:
startup_nodes:
- host: <redis-node-1.example.com>
port: 6379
- host: <redis-node-2.example.com>
port: 6379
password: <cluster_password>
read_from_replicas: true
skip_full_coverage_check: true
ssl: true
# ...