4.3. 配置代理存储要求


要在基于 Operator 的代理部署中使用持久性存储,您可以在用于创建部署的自定义资源(CR)实例中将 persistenceEnabled 设为 true。如果您的 OpenShift 集群中没有容器原生虚拟化,则需要手动置备持久性卷(PV),并确保 Operator 使用持久性卷声明(PVC)声明它们。如果您想创建带有持久性存储的两个代理集群,例如,需要有两个 PV 可用。默认情况下,部署中的每个代理都需要存储 2 GiB。但是,您可以为代理部署配置 CR,以指定每个代理所需的 PVC 大小。

重要
  • 要在基于 Operator 的部署中配置代理所需的 PVC 大小,您必须 至少为 AMQ Broker 7.7 使用最新版本的 Operator(即 0.17 版本)。要了解如何将 Operator 升级到 AMQ Broker 7.8 的最新版本,请参阅 第 6 章 升级基于 Operator 的代理部署
  • 在首次部署 CR ,您必须将代理存储大小的配置添加到代理部署的主 CR 中。您不能将 配置添加到已在运行的代理部署中。

4.3.1. 配置代理存储大小

以下流程演示了如何为代理部署配置自定义资源(CR)实例,以指定每个代理对持久性存储所需的持久性卷声明(PVC)的大小。

重要

在首次部署 CR ,您必须将代理存储大小的配置添加到代理部署的主 CR 中。您不能将 配置添加到已在运行的代理部署中。

先决条件

  • 您必须至少对 AMQ Broker 7.7 使用最新版本的 Operator(即 0.17 版本)。要了解如何将 Operator 升级到 AMQ Broker 7.8 的最新版本,请参阅 第 6 章 升级基于 Operator 的代理部署
  • 您应该熟悉如何使用 CR 实例创建基本代理部署。请参阅 第 3.4.1 节 “部署基本代理实例”
  • 您必须已经置备了持久性卷(PV),并使其可以被 Operator 声明。例如:如果要创建带有持久性存储的两个代理集群,则需要有两个 PV 可用。

    有关置备持久性存储的更多信息,请参阅:

步骤

  1. 开始为代理部署配置自定义资源(CR)实例。

    1. 使用 OpenShift 命令行界面:

      1. 以具有部署部署权限的项目中部署 CR 的用户身份登录 OpenShift。

        oc login -u <user> -p <password> --server=<host:port>
      2. 打开名为 broker_activemqartemis_cr.yaml 的示例 CR 文件,该文件包括在您下载并提取的 Operator 安装的 deploy/crs 目录中。
    2. 使用 OpenShift Container Platform Web 控制台:

      1. 以具有部署部署 CR 的项目中部署 CR 权限的用户身份登录控制台。
      2. 根据主代理 CRD 启动一个新的 CR 实例。在左侧窗格中,单击 Administration Custom Resource Definitions
      3. 单击 ActiveMQArtemis CRD。
      4. 实例 选项卡。
      5. 单击 Create ActiveMQArtemis

        在控制台中,会打开 YAML 编辑器,供您配置 CR 实例。

    对于基本代理部署,配置可能类似以下配置。此配置是 broker_activemqartemis_cr.yaml 示例 CR 文件的默认内容。

    apiVersion: broker.amq.io/v2alpha4
    kind: ActiveMQArtemis
    metadata:
      name: ex-aao
      application: ex-aao-app
    spec:
        version: 7.8.5
        deploymentPlan:
            size: 1
            image: placeholder
            requireLogin: false
            persistenceEnabled: true
            journalType: nio
            messageMigration: true

    观察 broker_activemqartemis_cr.yaml 示例 CR 文件中,image 属性被设置为 占位符 的默认值。这个值表示,默认情况下,image 属性没有指定用于部署的代理容器镜像。要了解 Operator 如何确定要使用的适当代理容器镜像,请参阅 第 2.4 节 “Operator 如何选择容器镜像”

    注意

    metadata 部分,您只需要包含 namespace 属性,只有在您 使用 OpenShift Container Platform Web 控制台创建 CR 时才指定一个值。您指定的值是代理部署的 OpenShift 项目的名称。

  2. 要指定代理存储要求,在 CR 的 deploymentPlan 部分添加 storage 部分。添加 size 属性并指定值。例如:

    spec:
        version: 7.8.5
        deploymentPlan:
            size: 1
            image: placeholder
            requireLogin: false
            persistenceEnabled: true
            journalType: nio
            messageMigration: true
            storage:
                size: 4Gi
    storage.size
    每个代理 Pod 所需的持久性卷声明(PVC)大小(以字节为单位)大小(以字节为单位)。只有在将 persistenceEnabled 设置为 true 时,才会应用此属性。您指定的值 必须包含一个 单元。支持字节表示法(例如:K、M、G)或二进制等同数(Ki, Mi, Gi)。
  3. 部署 CR 实例。

    1. 使用 OpenShift 命令行界面:

      1. 保存 CR 文件。
      2. 切换到您要在其中创建代理部署的项目。

        $ oc project <project_name>
      3. 创建 CR 实例。

        $ oc create -f <path/to/custom_resource_instance>.yaml
    2. 使用 OpenShift Web 控制台:

      1. 配置完 CR 后,点 Create
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部