4.3. 修改 OpenStackDataPlaneNodeSet CR
修改现有的 OpenStackDataPlaneNodeSet 自定义资源(CR)以更新节点配置或向数据平面添加新节点。使用新的 OpenStackDataPlaneDeployment CR 将这些修改应用到数据平面。
您必须创建新的 OpenStackDataPlaneDeployment CR,以启动另一个 Ansible 执行,以应用您对数据平面所做的任何更改。这是因为,当 OpenStackDataPlaneDeployment CR 成功完成执行时,它不会再次运行 Ansible,即使 OpenStackDataPlaneDeployment CR 或相关的 OpenStackDataPlaneNodeSet 资源已更改。
流程
-
为您要更新的节点集打开
OpenStackDataPlaneNodeSetCR 定义文件,如openstack_data_plane.yaml。 -
更新或添加您需要的配置。有关可用于配置通用节点属性的属性的信息,请参阅 Deploying Red Hat OpenStack Services on OpenShift 指南中的
OpenStackDataPlaneNodeSetCR spec 属性。 -
保存
OpenStackDataPlaneNodeSetCR 定义文件。 应用更新的
OpenStackDataPlaneNodeSetCR 配置:$ oc apply -f openstack_data_plane.yaml通过确认状态为
SetupReady来验证 data plane 资源是否已更新:$ oc wait openstackdataplanenodeset openstack-data-plane --for condition=SetupReady --timeout=10m当状态为
SetupReady时,命令会返回一个condition met信息,否则会返回超时错误。如需有关 data plane 条件和状态的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 中的 Data plane 条件 和状态。
-
如果环境中有任何失败的
OpenStackDataPlaneDeploymentCR,请删除它们以允许新的OpenStackDataPlaneDeployment使用更新的 Secret 运行 Ansible。 在工作站上创建一个文件来定义新的
OpenStackDataPlaneDeploymentCR:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: <node_set_deployment_name>-
将
<node_set_deployment_name> 替换为OpenStackDataPlaneDeploymentCR 的名称。名称必须是唯一的,必须包含小写字母数字字符(hyphen)或.(句点),且必须以字母数字字符开头和结尾。
提示为定义文件和
OpenStackDataPlaneDeploymentCR 提供唯一和描述性名称,以指示修改的节点集的用途。-
将
添加您修改的
OpenStackDataPlaneNodeSetCR:spec: nodeSets: - <nodeSet_name>-
保存
OpenStackDataPlaneDeploymentCR 部署文件。 部署修改后的
OpenStackDataPlaneNodeSetCR:$ oc create -f openstack_data_plane_deploy.yaml -n openstack您可以在部署执行时查看 Ansible 日志:
$ oc get pod -l app=openstackansibleee -w $ oc logs -l app=openstackansibleee -f --max-log-requests 10如果
oc logs命令返回类似以下错误的错误,请提高--max-log-requests值:error: you are attempting to follow 19 log streams, but maximum allowed concurrency is 10, use --max-log-requests to increase the limit验证修改后的
OpenStackDataPlaneNodeSetCR 是否已部署:$ oc get openstackdataplanedeployment -n openstack NAME STATUS MESSAGE openstack-data-plane True Setup Complete $ oc get openstackdataplanenodeset -n openstack NAME STATUS MESSAGE openstack-data-plane True NodeSet Ready有关返回状态的含义的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 指南中的 Data plane 条件和状态。
如果状态表示 data plane 尚未部署,则对部署进行故障排除。如需更多信息,请参阅在 OpenShift 上部署 Red Hat OpenStack Services 指南中的对 data plane 创建和部署进行故障排除。
如果您将新节点添加到节点集中,请将节点映射到它所连接的 Compute 单元:
$ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 discover_hosts --verbose如果您没有创建额外的单元,这个命令会将 Compute 节点映射到
cell1。访问
openstackclientpod 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:$ oc rsh -n openstack openstackclient $ openstack hypervisor list