2.4. 在 control plane 中添加计算单元
您可以使用单元将大型部署中的 Compute 节点划分为组。每个单元都有一个专用的消息队列,运行特定于单元的计算服务和数据库的独立副本,并将实例元数据存储在该单元格中专用于实例的数据库中。
默认情况下,control plane 创建两个单元:
-
cell0
:管理全局组件和服务(如计算调度程序和全局编排器)的控制器单元。此单元还包含专用的数据库,用于存储与无法调度到 Compute 节点的实例相关的信息。您无法将 Compute 节点连接到这个单元。 -
cell1
:当您不创建和配置其他单元时,计算节点连接到的默认单元。
在创建 control plane 或之后,您可以在 OpenShift (RHOSO)环境的 Red Hat OpenStack Services 中添加单元格。以下流程添加了一个额外的单元 cell2
,并使用专用 nova
元数据 API 服务配置每个单元。为每个单元创建一个专用的 nova
元数据 API 服务可提高大型部署的性能以及您的环境的可扩展性。或者,您可以在提供所有单元的顶层部署一个 nova
元数据 API 服务。
流程
-
在工作站上打开
OpenStackControlPlane
自定义资源(CR)文件openstack_control_plane.yaml
。 为您要添加到 RHOSO 环境的每个新单元创建一个数据库服务器:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为您要添加到 RHOSO 环境的每个新单元创建一个具有唯一 IP 的消息总线:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:使用自定义 API 公共端点覆盖默认的 VNC 代理服务路由主机名:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意主机名必须由数据中心中的 DNS 服务解析,RHOCP 集群和 DNS 实例将请求转发其请求。您不能使用内部 RHOCP
coredns
。将新单元添加到
nova
服务配置中的cellTemplates
配置中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe crd nova
$ oc describe crd nova
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 control plane:
oc apply -f openstack_control_plane.yaml -n openstack
$ oc apply -f openstack_control_plane.yaml -n openstack
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 RHOCP 创建与
OpenStackControlPlane
CR 相关的资源。运行以下命令来检查状态:oc get openstackcontrolplane -n openstack
$ oc get openstackcontrolplane -n openstack NAME STATUS MESSAGE openstack-control-plane Unknown Setup started
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当状态为 "Setup complete" 时,会创建
OpenStackControlPlane
资源。提示将
-w
选项附加到get
命令的末尾,以跟踪部署进度。可选:通过查看您创建的每个单元的
openstack
命名空间中的 pod 来确认 control plane 已被部署:oc get pods -n openstack | grep cell2
$ oc get pods -n openstack | grep cell2 nova-cell2-conductor-0 1/1 Running 2 5d20h nova-cell2-novncproxy-0 1/1 Running 2 5d20h openstack-cell2-galera-0 1/1 Running 2 5d20h rabbitmq-cell2-server-0 1/1 Running 2 5d20h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当所有 pod 都已完成或运行时,会部署 control plane。
可选:确认创建了新的单元:
oc exec -it nova-cell0-conductor-0 /bin/bash nova-manage cell_v2 list_cells
$ oc exec -it nova-cell0-conductor-0 /bin/bash # nova-manage cell_v2 list_cells +-------+--------------------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------+----------+| Name | UUID | Transport URL | Database Connection | Disabled |+-------+--------------------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------+----------+| cell0 | 00000000-0000-0000-0000-000000000000 | rabbit: | mysql+pymysql://nova_cell0:****@openstack/nova_cell0 | False || cell1 | c5bf5e35-6677-40aa-80d0-33a440cac14e | rabbit://default_user_CuUVnXz-PvgzXvPxypU:****@rabbitmq-cell1.openstack.svc:5672 | mysql+pymysql://nova_cell1:****@openstack-cell1/nova_cell1 | False || cell2 | c5bf5e35-6677-40aa-80d0-33a440cac14e | rabbit://default_user_CuUVnXz-PvgzXvPxypU:****@rabbitmq-cell2.openstack.svc:5672 | mysql+pymysql://nova_cell2:****@openstack-cell2/nova_cell2| False |+-------+--------------------------------------+----------------------------------------------------------------------------------+------------------------------------------------------------+----------+
Copy to Clipboard Copied! Toggle word wrap Toggle overflow