9.4. Red Hat OpenShift Service on AWS 的镜像 registry 镜像
您可以使用 ImageDigestMirrorSet (IDMS) 对象配置现有 Red Hat OpenShift Service on AWS 集群来从镜像 registry 中拉取镜像。
镜像镜像配置功能只按摘要运行镜像引用,这意味着镜像镜像仅在使用其唯一和不可变 ID 拉取镜像时激活。目前,此功能不支持使用 mutable 标签的任何镜像引用。
IDMS 为 registry 镜像定义一组集群范围的策略,使镜像下载更快、更可靠且更安全。它的工作原理是拦截通过其唯一、可寻址的摘要识别镜像的任何镜像拉取请求。根据这些策略,IDMS 透明地将 pull 操作从指定源 registry 重定向到一个或多个指定的镜像 registry。对于开发人员,这意味着其请求(指向原始源)由更快速、接近的镜像自动实现,从而显著提高部署速度,而无需对其工作流进行任何更改。
先决条件
要配置现有的 Red Hat OpenShift Service on AWS 集群,以使用 ImageDigestMirrorSet (IDMS) 对象从镜像 registry 中拉取镜像,您必须满足以下先决条件:
-
您已在安装主机上安装和配置了最新的 ROSA 命令行界面(CLI) (
rosa)。 - 您已在 AWS 集群上安装了 Red Hat OpenShift Service。
- Red Hat OpenShift Service on AWS 集群必须处于 Ready 状态才能创建、编辑、列出或删除镜像镜像。
- 您可以访问您要配置的镜像 registry。
- 您有管理集群配置所需的 IAM 权限。如需更多信息,请参阅附加资源部分中的"关于 IAM 资源 "。
将 Red Hat OpenShift Service on AWS 集群配置为使用 IDMS 从已镜像的 registry 中拉取镜像的好处包括:
- 增强的安全 :通过强制从私有镜像 registry 中拉取(pull)镜像,您可以在进入集群前扫描并批准所有漏洞的镜像。
- 改进了集群可靠性 :本地镜像通过消除对公共互联网路径的依赖来保证稳定且可预测的集群性能。
- 保证镜像一致性 :IDMS 使用镜像摘要来引用镜像,这样可确保集群中的每个节点拉取相同的镜像版本,防止可能导致部署失败的不一致。
9.4.1. 创建镜像镜像配置 复制链接链接已复制到粘贴板!
您可以使用 ROSA 命令行界面(CLI)工具为 Red Hat OpenShift Service on AWS 集群创建镜像镜像配置。
源 registry 创建后无法修改。您必须删除并重新创建镜像以更改源。
流程
运行以下命令来创建镜像镜像配置:
$ rosa create image-mirror [arguments]Expand 表 9.1. 参数 选项 定义 --cluster
必需:镜像配置要应用到的集群的名称或 ID。
--source
必需:要镜像的源 registry。
--mirrors
必需:镜像 registry 列表。镜像 registry 必须用逗号分开。
--type=digest
可选:镜像镜像的类型。默认情况下会设置
摘要类型,以及唯一可用的类型选项。--profile
可选:指定来自您的凭证文件中的 AWS 配置集(字符串)。
--region
可选:指定 AWS 区域,覆盖 AWS_REGION 环境变量。
例子
为名为
mycluster的集群创建镜像镜像配置。$ rosa create image-mirror --cluster=mycluster \ --source=registry.example.com/team \ --mirrors=mirror.corp.com/team,backup.corp.com/team输出示例
I: Image mirror with ID 'abc123def456' has been created on cluster 'mycluster' I: Source: registry.example.com/team I: Mirrors: [mirror.corp.com/team backup.corp.com/team]注意在镜像镜像配置创建过程中自动生成并分配给镜像镜像。
运行以下命令创建带有特定类型的镜像镜像配置:
$ rosa create image-mirror --cluster=mycluster \ --type=digest --source=docker.io/library \ --mirrors=internal-registry.company.com/dockerhub注意默认情况下会设置
摘要类型,以及唯一可用的类型选项。运行以下命令,使用集群的多个镜像创建单个镜像镜像配置:
$ rosa create image-mirror --cluster=mycluster \ --source=quay.io/openshift \ --mirrors=mirror1.company.com/openshift,mirror2.company.com/openshift,mirror3.company.com/openshift