5.7. 在 DCN 站点中添加节点到节点集
您可以通过将新节点添加到现有 OpenStackDataPlaneNodeSet 自定义资源(CR)的 nodes 部分,在站点扩展数据平面。
先决条件
- 您要添加的节点是预置备的。如需有关 预置备的更多信息,请参阅使用预置备节点创建 OpenStackDataPlaneNodeSet CR。
流程
-
为您要更新的节点集打开
OpenStackDataPlaneNodeSet清单文件,如openstack_data_plane.yaml。 将新节点添加到节点集中:
apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet metadata: name: openstack-node-set spec: preProvisioned: True nodes: ... edpm-compute-3: hostName: edpm-compute-3 ansible: ansibleHost: 192.168.122.103 networks: - name: CtlPlane subnetName: subnet1 defaultRoute: true fixedIP: 192.168.122.103 - name: InternalApi subnetName: subnet1 - name: Storage subnetName: subnet1 - name: Tenant subnetName: subnet1 ...在
OpenStackDataPlaneNodeSet清单文件中,编辑edpm_network_config_os_net_config_mappings,以添加新主机的 mac 地址:... edpm_network_config_os_net_config_mappings: edpm-compute-0: nic1: 52:54:00:1e:af:6b nic2: 52:54:00:d9:cb:f4 edpm-compute-1: nic1: 52:54:00:f2:bc:af nic2: 52:54:00:f1:c7:dd edpm-compute-2: nic1: 52:54:00:dd:33:14 nic2: 52:54:00:50:fb:c3 edpm-compute-3: nic1: 52:54:12:8b:be:9a nic2: 52:54:12:8b:be:9b(可选)如果要使用 HCI 将节点添加到数据平面部署中,您必须完成以下内容:
必须存在
extraMounts参数,以定义 Compute 服务(nova)的cephx密钥和配置文件。确保OpenStackDataPlaneNodeSet清单文件中存在extraMounts配置:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet spec: ... nodeTemplate: extraMounts: - extraVolType: Ceph volumes: - name: ceph secret: secretName: ceph-conf-files mounts: - name: ceph mountPath: "/etc/ceph" readOnly: true指定要应用到节点的其他服务:
apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet spec: ... services: - bootstrap - configure-network - validate-network - install-os - ceph-hci-pre - configure-os - ssh-known-hosts - run-os - reboot-os - install-certs - ceph-client - ovn - neutron-metadata - libvirt - nova-custom-ceph-az0注意在配置 DCN 数据平面时,
nova-custom-ceph-az0服务会被创建,应在这一步中出现。如需更多信息 ,请参阅配置 DCN 数据平面。
-
保存
OpenStackDataPlaneNodeSet清单文件。 应用更新的
OpenStackDataPlaneNodeSetCR 配置:$ oc apply -f <data-plane-custom-resource-file>-
将
<data-plane-custom-resource-file> 替换为您编辑的清单文件的名称。
-
将
通过确认状态为
SetupReady来验证 data plane 资源是否已更新:$ oc wait openstackdataplanenodeset <node-set-name> --for condition=SetupReady --timeout=10m-
将
<node-set-name> 替换为您要将节点添加到的OpenStackDataPlaneNodeSetCR 的名称。
当状态是
SetupReady时,命令会返回一个condition met消息,否则会返回超时错误。如需有关 data plane 条件和状态的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 中的 Data plane 条件 和状态。-
将
在工作站上创建一个文件来定义
OpenStackDataPlaneDeploymentCR:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: <node_set_scaling_deployment_name>-
将
<node_set_scaling_deployment_name> 替换为OpenStackDataPlaneDeploymentCR 的名称。名称必须是唯一的,且无法与之前创建的OpenStackDataPlaneDeployment匹配。您选择的名称必须包含小写字母数字字符(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 NODESETS STATUS MESSAGE openstack-data-plane ["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 创建和部署进行故障排除。
(可选):如果要使用 HCI 将节点添加到数据平面部署中,则必须将节点配置为 Ceph OSD 节点,并将其配置为使用并置 Red Hat Ceph Storage 集群。如需更多信息,请参阅以下资源:
如果新节点是 Compute 节点,则必须在线它们:
将 Compute 节点映射到它们连接的 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注意在后端中将 Ceph 编排器与 Cephadm 搭配使用,将主机添加到现有的 Red Hat Ceph Storage 集群中。有关更多信息,请参阅 [使用 Ceph 编排器] 添加主机。
将新主机添加到与节点集或其所在地理位置对应的可用区(AZ):
打开终端到
openstackclientpod:$ oc rsh openstackclient将主机添加到 AZ 聚合中:
$ openstack aggregate add host <availability_zone> <compute_node_3>-
将
<availability_zone> 替换为新主机所在 AZ 的名称。 -
将 <
compute_node_3> 替换为您要添加到节点集合中的主机的名称。
-
将