3.7. 配置计算通知
您可以配置 Compute 服务(nova),以向 OpenShift (RHOSO)环境中的 Red Hat OpenStack Services 中的 Telemetry 服务发送通知。计算服务支持将一个 RabbitMQ 副本指定为通知服务器。
先决条件
-
在工作站上安装了
oc命令行工具。 -
以具有
cluster-admin权限的用户身份登录到可访问 RHOSO 控制平面的工作站。
流程
-
在工作站上打开
OpenStackControlPlane自定义资源(CR)文件openstack_control_plane.yaml。 更新
rabbitmq服务配置,以提供计算服务通知。以下示例创建了单个通知服务器:
spec: rabbitmq: enabled: true templates: ... <rabbitmq_notification_server>: delayStartSeconds: 30 override: service: metadata: annotations: metallb.universe.tf/address-pool: internalapi metallb.universe.tf/loadBalancerIPs: <ip_address> spec: type: LoadBalancer-
将
<rabbitmq_notification_server> 替换为通知服务器的名称,如rabbitmq-notifications。 -
将
<ip_address> 替换为适当的 IP 地址。根据您的网络计划和配置,相应地调整这个值。
-
将
使用 Compute 服务注册通知服务器:
spec: nova: template: ... apiMessageBusInstance: rabbitmq notificationsBusInstance: <rabbitmq_notification_server>-
将 <
rabbitmq_notification_server> 替换为上一步中创建的通知服务器的名称。
-
将 <
-
保存
openstack_control_plane.yaml。 更新 control plane:
$ oc apply -f openstack_control_plane.yaml -n openstack等待 RHOCP 创建与
OpenStackControlPlaneCR 相关的资源。运行以下命令来检查状态:$ oc get openstackcontrolplane -n openstack当状态为 "Setup complete" 时,会创建
OpenStackControlPlane资源。提示在
get命令的末尾附加 -w 选项以跟踪部署进度。-
可选:查看您创建的每个单元的
openstack命名空间中的 pod,以确认部署了 control plane。当所有 pod 都已完成或运行时,会部署 control plane。 可选:验证 notification
transporturl是否已正确配置。以下是执行此验证的示例:
$ oc get transporturl NAME STATUS MESSAGE ... nova-api-transport True Setup complete nova-cell1-transport True Setup complete nova-notification-transport True Setup complete创建新的
OpenStackDataPlaneDeploymentCR,以在数据平面节点上配置通知并部署数据平面。将 CR 保存到工作站上名为compute_notifications_deploy.yaml的文件中:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: nova-notifications namespace: openstack spec: nodeSets: - openstack-edpm - ... - <nodeSet_name>将
<nodeSet_name> 替换为您要包含在 data plane 部署中的OpenStackDataPlaneNodeSetCR 的名称。注意以下示例演示了如何获取 data plane 部署的信息,并使用该信息获取 nodesets 列表。
$ oc get openstackdataplanedeployment NAME NODESETS STATUS MESSAGE edpm-deployment ["openstack-edpm"] True Setup complete $ oc get openstackdataplanedeployment edpm-deployment -o jsonpath='{.spec.nodeSets}'["openstack-edpm"]
-
保存
compute_notifications_deploy.yaml部署文件。 部署 data plane 更新:
$ oc create -f compute_notifications_deploy.yaml验证 data plane 是否已部署:
$ oc get openstackdataplanenodeset NAME STATUS MESSAGE nova-notifications True Deployed访问 openstackclient 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:
$ oc rsh -n openstack openstackclient $ openstack hypervisor list