4.4. 配置代理存储要求


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

重要

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

4.4.1. 配置代理存储大小

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

重要

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

先决条件

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

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

流程

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

    1. 使用 OpenShift 命令行界面:

      1. 以具有特权的用户身份登录 OpenShift,以在您要创建部署的项目中部署 CR。

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

      1. 以具有特权的用户身份登录控制台,以在您要创建部署的项目中部署 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.9.3
        deploymentPlan:
            size: 1
            image: placeholder
            requireLogin: false
            persistenceEnabled: true
            journalType: nio
            messageMigration: true
    Copy to Clipboard Toggle word wrap

    请注意,在 broker_activemqartemis_cr.yaml 示例 CR 文件中,image 属性 被设置为默认值 占位符。此值表示 image 属性默认不指定用于部署的代理容器镜像。要了解 Operator 如何决定要使用的适当代理容器镜像,请参阅 第 2.4 节 “Operator 如何选择容器镜像”

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

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

    1. 使用 OpenShift 命令行界面:

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

        $ oc project <project_name>
        Copy to Clipboard Toggle word wrap
      3. 创建 CR 实例。

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

      1. 配置完 CR 后,点 Create
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat