5.6.2. 为内存加密设计 AMD SEV Compute 节点
要为使用内存加密的实例指定 AMD SEV Compute 节点,您必须创建一个新角色文件来配置 AMD SEV 角色,并使用 AMD SEV 资源类配置裸机节点,以标记用于内存加密的 Compute 节点。
以下流程适用于尚未调配的新 overcloud 节点。要将资源类分配给已调配的现有 overcloud 节点,您必须使用缩减流程取消置备节点,然后使用扩展步骤使用新资源类分配重新置备节点。有关更多信息,请参阅 扩展 overcloud 节点。
流程
-
以
stack用户的身份登录 undercloud。 Source
stackrc文件:[stack@director ~]$ source ~/stackrc生成包含
ComputeAMDSEV角色的新角色数据文件,以及 overcloud 所需的任何其他角色。以下示例生成角色数据文件roles_data_amd_sev.yaml,其中包括角色Controller和ComputeAMDSEV:(undercloud)$ openstack overcloud roles \ generate -o /home/stack/templates/roles_data_amd_sev.yaml \ Compute:ComputeAMDSEV ControllerOpen
roles_data_amd_sev.yaml并编辑或添加以下参数和部分:Expand section/Parameter 当前值 新值 role 注释
Role: ComputeRole: ComputeAMDSEV角色名称
Name: Compute名称 :ComputeAMDSEVdescription基本 Compute 节点角色AMD SEV Compute 节点角色HostnameFormatDefault%stackname%-novacompute-%index%%stackname%-novacomputeamdsev-%index%deprecated_nic_config_namecompute.yamlcompute-amd-sev.yaml-
将 overcloud 的 AMD SEV Compute 节点添加到节点定义模板中,注册它们:
node.json或node.yaml。有关更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 注册节点。 检查节点硬件:
(undercloud)$ openstack overcloud node introspect \ --all-manageable --provide如需更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 指南中的创建 裸机节点硬件清单。
使用自定义 AMD SEV 资源类标记您要为内存加密指定的每个裸机节点:
(undercloud)$ openstack baremetal node set \ --resource-class baremetal.AMD-SEV <node>将
<node> 替换为裸机节点的名称或 ID。将
ComputeAMDSEV角色添加到您的节点定义文件overcloud-baremetal-deploy.yaml中,并定义您要分配给节点的任何预先节点放置、资源类、网络拓扑或其他属性:- name: Controller count: 3 - name: Compute count: 3 - name: ComputeAMDSEV count: 1 defaults: resource_class: baremetal.AMD-SEV network_config: template: /home/stack/templates/nic-config/myRoleTopology.j21 运行 provisioning 命令为您的角色置备新节点:
(undercloud)$ openstack overcloud node provision \ --stack <stack> \ [--network-config \] --output /home/stack/templates/overcloud-baremetal-deployed.yaml \ /home/stack/templates/overcloud-baremetal-deploy.yaml-
将
<stack> 替换为置备裸机节点的堆栈名称。如果未指定,则默认为overcloud。 -
包含
--network-config可选参数,为cli-overcloud-node-network-config.yamlAnsible playbook 提供网络定义。如果您没有使用network_config属性定义网络定义,则使用默认网络定义。
-
将
在一个单独的终端中监控置备进度。当置备成功时,节点状态将从
available变为active:(undercloud)$ watch openstack baremetal node list如果您没有使用
--network-config选项运行 provisioning 命令,请在network-environment.yaml文件中配置 <Role>NetworkConfigTemplate参数以指向 NIC 模板文件:parameter_defaults: ComputeNetworkConfigTemplate: /home/stack/templates/nic-configs/compute.j2 ComputeAMDSEVNetworkConfigTemplate: /home/stack/templates/nic-configs/<amd_sev_net_top>.j2 ControllerNetworkConfigTemplate: /home/stack/templates/nic-configs/controller.j2将 <
amd_sev_net_top> 替换为包含Compute AMDSEV角色的网络拓扑的文件的名称,如compute.yaml以使用默认网络拓扑。