13.2. 部署 Real-time Compute 角色
Red Hat OpenStack Platform (RHOSP) director 为 ComputeRealTime 角色提供模板,您可以使用它来部署实时 Compute 节点。您必须执行额外的步骤来指定 Compute 节点实时。
流程
基于
/usr/share/openstack-tripleo-heat-templates/environments/compute-real-time-example.yaml文件,创建一个compute-real-time.yaml环境文件,该文件为ComputeRealTime角色设置参数。cp /usr/share/openstack-tripleo-heat-templates/environments/compute-real-time-example.yaml /home/stack/templates/compute-real-time.yaml
cp /usr/share/openstack-tripleo-heat-templates/environments/compute-real-time-example.yaml /home/stack/templates/compute-real-time.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 该文件必须包含以下参数的值:
-
IsolCpusList和NovaComputeCpuDedicatedSet:隔离 CPU 内核和虚拟 CPU 列表,以便为实时工作负载保留。这个值取决于您的实时 Compute 节点的 CPU 硬件。 -
NovaComputeCpuSharedSet:要为仿真程序线程保留的主机 CPU 列表。 -
KernelArgs:用来传递给 Real-time Compute 节点的内核的参数。例如,您可以使用default_hugepagesz=1G hugepagesz=1G hugepages=<number_of_1G_pages_to_reserve> hugepagesz=2M hugepages=<number_of_2M_pages>定义具有多个大小的客户机的内存要求。在这个示例中,默认大小为 1GB,但您也可以保留 2M 巨页。 -
NovaComputeDisableIrqBalance:确保为 Real-time Compute 节点将此参数设置为true,因为tuned服务为实时部署管理 IRQ 平衡,而不是irqbalance服务。
-
将
ComputeRealTime角色添加到您的角色数据文件并重新生成该文件。例如:openstack overcloud roles generate -o /home/stack/templates/rt_roles_data.yaml Controller Compute ComputeRealTime
$ openstack overcloud roles generate -o /home/stack/templates/rt_roles_data.yaml Controller Compute ComputeRealTimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令生成
ComputeRealTime角色,其内容类似以下示例,并将ImageDefault选项设置为overcloud-realtime-compute。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关自定义角色和
roles-data.yaml的常规信息,请参阅 角色。创建
compute-realtime类别,以标记您要为实时工作负载指定的节点。例如:source ~/stackrc openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 compute-realtime openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="compute-realtime" compute-realtime
$ source ~/stackrc $ openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 compute-realtime $ openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="compute-realtime" compute-realtimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
compute-realtime配置集标记您要为实时工作负载指定的每个节点。openstack baremetal node set --property capabilities='profile:compute-realtime,boot_option:local' <node_uuid>
$ openstack baremetal node set --property capabilities='profile:compute-realtime,boot_option:local' <node_uuid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过创建包含以下内容的环境文件,将
ComputeRealTime角色映射到compute-realtime类别:parameter_defaults: OvercloudComputeRealTimeFlavor: compute-realtime
parameter_defaults: OvercloudComputeRealTimeFlavor: compute-realtimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用其他环境文件将环境文件和新角色文件添加到堆栈中,并部署 overcloud:
openstack overcloud deploy --templates \ -e [your environment files] \ -r /home/stack/templates/rt~/my_roles_data.yaml \ -e home/stack/templates/compute-real-time.yaml
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -r /home/stack/templates/rt~/my_roles_data.yaml \ -e home/stack/templates/compute-real-time.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow