2.4. Operator 如何选择容器镜像


当您根据 Operator 的 最少 版本 7.8.5-opr-2 为代理部署创建自定义资源(CR)实例时,您不需要 在 CR 中明确指定代理或初始容器镜像名称。默认情况下,如果部署 CR 且没有明确指定容器镜像值,Operator 会自动选择要使用的适当容器镜像。

注意

如果使用 OpenShift 命令行界面安装 Operator,Operator 安装存档包含一个名为 broker_activemqartis_cr.yaml 的示例 CR 文件。在示例 CR 中,包含 spec.deploymentPlan.image 属性,并设置为其 占位符 的默认值。这个值表示,在部署 CR 之前,Operator 不会选择代理容器镜像。

broker_activemqartis_cr.yaml 示例 CR 文件 中不包含 spec.deploymentPlan. initImage 属性(指定 Init 容器镜像)。如果您没有在 CR 中明确包含 spec.deploymentPlan.initImage 属性并指定值,Operator 会选择要在部署 CR 时使用的适当内置初始容器镜像。

本节介绍了 Operator 如何选择这些镜像。

要选择 broker 和 Init Container 镜像,Operator 首先决定镜像应对应的 AMQ Broker 版本。Operator 会根据以下方法决定版本:

  • 如果主 CR 中的 spec.upgrades.enabled 属性已设置为 truespec.version 属性指定 7.7.0、78.07.8.17.8.2,Operator 会使用指定的版本。
  • 如果 spec.upgrades.enabled 没有设置为 true,或者将 spec.version 设置为早于 7.7.0 的 AMQ Broker 版本,Operator 将使用 最新版本的 AMQ Broker(即 7.8.5)。

备注:对于 IBM Z 和 IBM Power Systems,7.8.17.8.2spec.version 的唯一有效值。

然后,Operator 会检测您的容器平台。AMQ Broker Operator 可以在以下容器平台中运行:

  • OpenShift Container Platform (x86_64)
  • IBM Z 上的 OpenShift Container Platform(s390x)
  • IBM Power Systems(ppc64le)上的 OpenShift Container Platform

根据 AMQ Broker 和容器平台的版本,Operator 会引用 operator.yaml 配置文件中的两组环境变量。这些环境变量为 AMQ Broker 的不同版本指定代理和初始容器镜像,如以下子部分所述。

2.4.1. 代理容器镜像的环境变量

代理容器镜像的 operator.yaml 配置文件中包含的环境变量有以下命名约定:

OpenShift Container Platform
RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_<AMQ_Broker_version_identifier>
IBM Z 上的 OpenShift Container Platform
RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_<AMQ_Broker_version_identifier>_s390x
IBM Power 系统上的 OpenShift Container Platform
RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_<AMQ_Broker_version_identifier>_ppc64le

表中显示了每个支持的容器平台和特定的 AMQ Broker 版本的环境变量名称。

Expand
容器平台环境变量名称

OpenShift Container Platform

  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_770
  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_780
  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_781

IBM Z 上的 OpenShift Container Platform

  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_770_s390x
  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_780_s390x
  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_781_s390x

IBM Power 系统上的 OpenShift Container Platform

  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_770_ppc64le
  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_780_ppc64le
  • RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_781_ppc64le

每个环境变量的值指定红帽提供的代理容器镜像。例如:

- name: RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_787
  #value: registry.redhat.io/amq7/amq-broker:7.8-33
  value: registry.redhat.io/amq7/amq-broker@sha256:4d60775cd384067147ab105f41855b5a7af855c4d9cbef1d4dea566cbe214558

因此,基于 AMQ Broker 版本和容器平台,Operator 会确定适用的环境变量名称。在启动代理容器时,Operator 会使用对应的镜像值。

注意

operator.yaml 文件中,Operator 使用一个由 安全 Hash Algorithm (SHA)值表示的镜像。注释行以数字符号(#)符号开头,表示 SHA 值对应于特定的容器镜像标签。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部