10.10. 标签和镜像管理


本节论述了控制如何在 Red Hat Quay 中管理标签和镜像的配置字段。这些设置有助于自动进行镜像清理、管理存储库镜像,并通过缓存提高性能。

您可以使用这些字段来:

  • 为未标记或过时的镜像定义过期策略。
  • 启用并调度外部存储库镜像到 registry。
  • 利用模型缓存来优化标签和存储库操作的性能。

这些选项有助于维护最新的镜像 registry 环境。

10.10.1. 标签过期配置字段

以下配置选项可用于自动标记过期和垃圾收集。这些功能通过启用根据定义的策略清理未使用或过期的标签,从而帮助管理存储使用情况。

Expand
表 10.38. 标签过期配置字段
字段类型描述

FEATURE_GARBAGE_COLLECTION

布尔值

是否启用垃圾回收存储库。

默认为 True

TAG_EXPIRATION_OPTIONS
(Required)

字符串数组

如果启用,用户可以选择在其命名空间中过期标签的选项。

Pattern:
^[0-9]+(y|w|m|d|h|s)$

DEFAULT_TAG_EXPIRATION
(Required)

字符串

默认可配置的时间时间用于时间机器。

Pattern:
^[0-9]+(y\w|m|d|h|s)$
Default: 2w

FEATURE_CHANGE_TAG_EXPIRATION

布尔值

是否允许用户和机构更改其命名空间中标签过期时间。

默认为 True

FEATURE_AUTO_PRUNE

布尔值

当设置为 True 时,启用与 auto-pruning 标签相关的功能。
Default: False

NOTIFICATION_TASK_RUN_MINIMUM_INTERVAL_MINUTES

整数

间隔(以分钟为单位),定义过期镜像重新运行通知的频率。

默认为 300

DEFAULT_NAMESPACE_AUTOPRUNE_POLICY

对象

默认机构范围的自动修剪策略。

    .method: number_of_tags

对象

选项指定要保留的标签数的选项。

    .value: <integer>

整数

方法一起使用时: number_of_tags,表示要保留的标签数。

例如,若要保留两个标签,请指定 2

    .creation_date

对象

选项指定保留标签的持续时间。

    .value: <integer>

整数

creation_date 一起使用时,表示保留标签的时间。

可以设置为秒(s)、天(d)、月(m)、周(w)或 years (y)。必须包含有效的整数。例如,若要保留一年的标签,请指定 1y

AUTO_PRUNING_DEFAULT_POLICY_POLL_PERIOD

整数

自动修剪 worker 在 registry 级别运行的时间。默认情况下,它被设置为每天运行一次(每 24 小时一次)。值必须以秒为单位。

FEATURE_IMAGE_EXPIRY_TRIGGER

布尔值

允许用户在镜像过期上设置通知。通知只在 v2 UI 上返回。

默认: False

标签过期示例 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 
1

AUTO_PRUNING_DEFAULT_POLICY_POLL_PERIOD: 86400
FEATURE_IMAGE_EXPIRY_TRIGGER: false
# ...

1
指定要保留的十个标签。

通过创建日期示例 YAML 自动修剪策略

# ...
DEFAULT_NAMESPACE_AUTOPRUNE_POLICY:
  method: creation_date
  value: 1y 
1

# ...

1
指定要在创建日期后的一年内修剪的标签。

10.10.2. 镜像配置字段

Red Hat Quay 中的镜像可启用自动同步存储库与上游源。此功能可用于维护远程容器镜像的本地镜像,确保在断开连接的环境中可用性或通过缓存提高性能。

其他信息

Expand
表 10.39. 镜像配置
字段类型描述

FEATURE_REPO_MIRROR

布尔值

启用或禁用存储库镜像

默认值: False

REPO_MIRROR_INTERVAL

Number

检查存储库镜像候选间隔的秒数

默认为 30

REPO_MIRROR_SERVER_HOSTNAME

字符串

替换 SERVER_HOSTNAME 作为镜像目的地。

默认: None

示例:
openshift-quay-service

REPO_MIRROR_TLS_VERIFY

布尔值

在镜像过程中需要 HTTPS 并验证 Quay registry 的证书。

Default: True

REPO_MIRROR_ROLLBACK

布尔值

当设置为 True 时,存储库会在镜像失败后回滚。

默认False

SKOPEO_TIMEOUT_INTERVAL

整数

在超时前运行镜像任务的秒数。

默认 :300

镜像配置示例 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
SKOPEO_TIMEOUT_INTERVAL: 300
# ...

10.10.3. ModelCache 配置字段

ModelCache 是 Red Hat Quay 用来存储访问的数据并减少数据库负载的缓存机制。Quay 支持多种缓存后端,包括默认 Memcache,以及 Redis 和 Redis Cluster。

  • memcache (默认):不需要额外的配置。
  • Redis: 可以配置为单个实例,也可以使用只读副本。
  • Redis 集群 :为大型部署提供高可用性和分片。
Expand
表 10.40. ModelCache 配置字段
字段类型描述

DATA_MODEL_CACHE_CONFIG.engine

字符串

缓存后端引擎。
值 : memcacheredisrediscluster
默认值: memcache

.redis_config.primary.host

字符串

使用 redis 引擎时的主 Redis 实例的主机名。

.redis_config.primary.port

Number

主 Redis 实例使用的端口。

.redis_config.primary.password

字符串

使用主 Redis 实例进行身份验证的密码。仅在 ssl 设为 True 时才需要。

.redis_config.primary.ssl

布尔值

是否将 SSL/TLS 用于主 Redis 连接。

.redis_config.startup_nodes

Map 数组

用于 rediscluster 引擎。带有主机和端口 的初始 Redis 集群节点列表。

redis_config.password

字符串

用于与 Redis 集群进行身份验证的密码。如果 sslTrue,则需要此项。

.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 副本的密码。如果 sslTrue,则需要此项。

.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
# ...

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部