2.7. Operator 如何选择容器镜像


如果 CR 不包含 spec.deploymentPlan.imagespec.deployment.Plan.initImage 属性,它指定 Operator 必须部署的特定容器镜像的 registry URL,Operator 会自动选择要部署的适当容器镜像。

注意

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

spec.deploymentPlan.initImage 属性(用于指定 Init 容器镜像) 没有包括在 broker_activemqartemis_cr.yaml 示例 CR 文件中。如果您没有在 CR 中显式包含 spec.deploymentPlan.initImage 属性并指定值,Operator 会选择一个与所选 Operator 容器镜像版本匹配的内置 Init 容器镜像。

要选择代理和初始容器镜像,Operator 首先决定所需的镜像的 AMQ Broker 版本。Operator 从 spec.version 属性的值获取版本。如果没有设置 spec.version 属性,Operator 将使用 AMQ Broker 的镜像的最新版本。

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

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

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

2.7.1. 代理和 init 容器镜像的环境变量

operator.yaml 中包含的环境变量有以下命名约定。

Expand
表 2.1. 环境变量的命名惯例
容器平台命名规则

OpenShift Container Platform

RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_<AMQ_Broker_version>

IBM Z 上的 OpenShift Container Platform

RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_<AMQ_Broker_version>_s390x

IBM Power 系统上的 OpenShift Container Platform

RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_<AMQ_Broker_version>_ppc64le

以下是每个支持的容器平台的环境变量名称和 init 容器镜像的环境变量示例。

Expand
表 2.2. 环境变量名称示例
容器平台环境变量名称

OpenShift Container Platform

RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7123
RELATED_IMAGE_ActiveMQ_Artemis_Broker_Init_7123

IBM Z 上的 OpenShift Container Platform

RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7123_s390x
RELATED_IMAGE_ActiveMQ_Artemis_Broker_Init_s390x_7123

IBM Power 系统上的 OpenShift Container Platform

RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7123_ppc64le
RELATED_IMAGE_ActiveMQ_Artemis_Broker_Init_ppc64le_7123

每个环境变量的值都指定红帽提供的容器镜像的地址。镜像名称由 安全哈希算法 (SHA)值表示。例如:

- name: RELATED_IMAGE_ActiveMQ_Artemis_Broker_Kubernetes_7123
  value: registry.redhat.io/amq7/amq-broker-rhel8@sha256:55ae4e28b100534d63c34ab86f69230d274c999d46d1493f26fe3e75ba7a0cec

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

其他资源

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部