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 可用。
有关置备持久性存储的更多信息,请参阅:
步骤
开始为代理部署配置自定义资源(CR)实例。
使用 OpenShift 命令行界面:
以具有部署部署权限的项目中部署 CR 的用户身份登录 OpenShift。
oc login -u <user> -p <password> --server=<host:port>-
打开名为
broker_activemqartemis_cr.yaml的示例 CR 文件,该文件包括在您下载并提取的 Operator 安装的deploy/crs目录中。
使用 OpenShift Container Platform Web 控制台:
- 以具有部署部署 CR 的项目中部署 CR 权限的用户身份登录控制台。
-
根据主代理 CRD 启动一个新的 CR 实例。在左侧窗格中,单击
。 - 单击 ActiveMQArtemis CRD。
- 点 实例 选项卡。
单击 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 项目的名称。要指定代理存储要求,在 CR 的
deploymentPlan部分添加storage部分。添加size属性并指定值。例如:spec: version: 7.8.5 deploymentPlan: size: 1 image: placeholder requireLogin: false persistenceEnabled: true journalType: nio messageMigration: true storage: size: 4Gistorage.size-
每个代理 Pod 所需的持久性卷声明(PVC)大小(以字节为单位)大小(以字节为单位)。只有在将
persistenceEnabled设置为true时,才会应用此属性。您指定的值 必须包含一个 单元。支持字节表示法(例如:K、M、G)或二进制等同数(Ki, Mi, Gi)。
部署 CR 实例。
使用 OpenShift 命令行界面:
- 保存 CR 文件。
切换到您要在其中创建代理部署的项目。
$ oc project <project_name>创建 CR 实例。
$ oc create -f <path/to/custom_resource_instance>.yaml
使用 OpenShift Web 控制台:
- 配置完 CR 后,点 Create。