5.7. 在 DCN 站点中添加节点到节点集


您可以通过将新节点添加到现有 OpenStackDataPlaneNodeSet 自定义资源(CR)的 nodes 部分,在站点扩展数据平面。

先决条件

流程

  1. 为您要更新的节点集打开 OpenStackDataPlaneNodeSet 清单文件,如 openstack_data_plane.yaml
  2. 将新节点添加到节点集中:

    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
      ...
  3. 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
  4. (可选)如果要使用 HCI 将节点添加到数据平面部署中,您必须完成以下内容:

    1. 必须存在 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
    2. 指定要应用到节点的其他服务:

      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 数据平面

  5. 保存 OpenStackDataPlaneNodeSet 清单文件。
  6. 应用更新的 OpenStackDataPlaneNodeSet CR 配置:

    $ oc apply -f <data-plane-custom-resource-file>
    • <data-plane-custom-resource-file > 替换为您编辑的清单文件的名称。
  7. 通过确认状态为 SetupReady 来验证 data plane 资源是否已更新:

    $ oc wait openstackdataplanenodeset <node-set-name> --for condition=SetupReady --timeout=10m
    • <node-set-name > 替换为您要将节点添加到的 OpenStackDataPlaneNodeSet CR 的名称。

    当状态是 SetupReady 时,命令会返回一个 condition met 消息,否则会返回超时错误。如需有关 data plane 条件和状态的信息,请参阅 在 OpenShift 上部署 Red Hat OpenStack Services 中的 Data plane 条件 和状态

  8. 在工作站上创建一个文件来定义 OpenStackDataPlaneDeployment CR:

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: <node_set_scaling_deployment_name>
    • <node_set_scaling_deployment_name > 替换为 OpenStackDataPlaneDeployment CR 的名称。名称必须是唯一的,且无法与之前创建的 OpenStackDataPlaneDeployment 匹配。您选择的名称必须包含小写字母数字字符(hyphen)或 . (句点),且必须以字母数字字符开头和结尾。
    提示

    为定义文件和 OpenStackDataPlaneDeployment CR 提供唯一和描述性名称,以指示修改的节点集的用途。

  9. 添加您修改的 OpenStackDataPlaneNodeSet CR:

    spec:
      nodeSets:
        - <nodeSet_name>
  10. 保存 OpenStackDataPlaneDeployment CR 部署文件。
  11. 部署修改后的 OpenStackDataPlaneNodeSet CR:

    $ 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
  12. 验证修改后的 OpenStackDataPlaneNodeSet CR 是否已部署:

    $ 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 创建和部署进行故障排除

  13. (可选):如果要使用 HCI 将节点添加到数据平面部署中,则必须将节点配置为 Ceph OSD 节点,并将其配置为使用并置 Red Hat Ceph Storage 集群。如需更多信息,请参阅以下资源:

  14. 如果新节点是 Compute 节点,则必须在线它们:

    1. 将 Compute 节点映射到它们连接的 Compute 单元:

      $ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 discover_hosts --verbose

      如果您没有创建额外的单元,这个命令会将 Compute 节点映射到 cell1

    2. 访问 openstackclient pod 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:

      $ oc rsh -n openstack openstackclient
      $ openstack hypervisor list
      注意

      在后端中将 Ceph 编排器与 Cephadm 搭配使用,将主机添加到现有的 Red Hat Ceph Storage 集群中。有关更多信息,请参阅 [使用 Ceph 编排器] 添加主机。

  15. 将新主机添加到与节点集或其所在地理位置对应的可用区(AZ):

    1. 打开终端到 openstackclient pod:

      $ oc rsh openstackclient
    2. 将主机添加到 AZ 聚合中:

      $ openstack aggregate add host <availability_zone> <compute_node_3>
      • <availability_zone > 替换为新主机所在 AZ 的名称。
      • 将 < compute_node_3 > 替换为您要添加到节点集合中的主机的名称。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部