第 5 章 使用 director Operator 创建 overcloud 节点


Red Hat OpenStack Platform (RHOSP) overcloud 由多个节点组成,如 Controller 节点,以提供 control plane 服务和 Compute 节点来提供计算资源。要使 overcloud 具有高可用性功能,您必须有 3 个 Controller 节点和一个 Compute 节点。您可以使用 OpenStackControlPlane 自定义资源定义(CRD)和 Compute 节点与 OpenStackBaremetalSet CRD 创建 Controller 节点。

注意

Red Hat OpenShift Container Platform (RHOCP)不会在 RHOCP worker 节点上自动发现问题,如果 worker 节点失败或出现问题,则执行托管 RHOSP Controller 虚拟机的 worker 节点自动恢复。您必须在 RHOCP 集群上启用健康检查,以便在主机 worker 节点失败时自动重新定位 Controller VM pod。有关如何在 RHOCP worker 节点上自动发现问题的详情,请参考 部署机器健康检查

5.1. 使用 OpenStackControlPlane CRD 创建 control plane

Red Hat OpenStack Platform (RHOSP) control plane 包含管理 overcloud 的 RHOSP 服务。默认 control plane 由 3 个 Controller 节点组成。您可以使用可组合角色来管理专用控制器虚拟机(VM)上的服务。有关可组合角色的更多信息,请参阅 可组合服务和自定义角色

定义 OpenStackControlPlane 自定义资源(CR),将 Controller 节点创建为 OpenShift Virtualization 虚拟机(VM)。

提示

使用以下命令查看 OpenStackControlPlane CRD 定义和规格模式:

$ oc describe crd openstackcontrolplane

$ oc explain openstackcontrolplane.spec
Copy to Clipboard Toggle word wrap

先决条件

  • 您已使用 OpenStackNetConfig CR 创建 control plane 网络以及任何其他隔离网络。

流程

  1. 在工作站上创建一个名为 openstack-controller.yaml 的文件。包含 Controller 节点的资源规格。以下示例定义了由 3 个 Controller 节点组成的 control plane 规格:

    apiVersion: osp-director.openstack.org/v1beta2
    kind: OpenStackControlPlane
    metadata:
      name: overcloud 
    1
    
      namespace: openstack 
    2
    
    spec: 
    3
    
      openStackClientNetworks:
            - ctlplane
            - internal_api
            - external
      openStackClientStorageClass: host-nfs-storageclass
      passwordSecret: userpassword 
    4
    
      virtualMachineRoles:
        Controller:
          roleName: Controller
          roleCount: 3
          networks:
            - ctlplane
            - internal_api
            - external
            - tenant
            - storage
            - storage_mgmt
          cores: 12
          memory: 64
          rootDisk:
            diskSize: 100
            baseImageVolumeName: openstack-base-img 
    5
    
            storageClass: host-nfs-storageclass 
    6
    
            storageAccessMode:  ReadWriteMany
            storageVolumeMode: Filesystem
          # optional configure additional discs to be attached to the VMs,
          # need to be configured manually inside the VMs where to be used.
          additionalDisks:
            - name: datadisk
              diskSize: 500
              storageClass: host-nfs-storageclass
              storageAccessMode:  ReadWriteMany
              storageVolumeMode: Filesystem
      openStackRelease: "17.1"
    Copy to Clipboard Toggle word wrap
    1
    overcloud control plane 的名称,如 overcloud
    2
    OSPdO 命名空间,例如 openstack
    3
    control plane 的配置。
    4
    可选:为具有密码的用户提供每个节点上的 root 访问权限的 Secret 资源。
    5
    存储控制器虚拟机的基础操作系统镜像的数据卷名称。有关 创建数据卷的更多信息,请参阅为基础操作系统创建数据卷
    6
    有关配置 Red Hat OpenShift Container Platform (RHOCP)存储的详情,请参考 动态置备
  2. 保存 openstack-controller.yaml 文件。
  3. 创建 control plane:

    $ oc create -f openstack-controller.yaml -n openstack
    Copy to Clipboard Toggle word wrap
  4. 等待 RHOCP 创建与 OpenStackControlPlane CR 相关的资源。OSPdO 还会创建一个 OpenStackClient pod,您可以通过远程 shell 访问以运行 RHOSP 命令。

验证

  1. 查看 control plane 的资源:

    $ oc get openstackcontrolplane/overcloud -n openstack
    Copy to Clipboard Toggle word wrap
  2. 查看 OpenStackVMSet 资源,以验证 control plane 虚拟机集的创建:

    $ oc get openstackvmsets -n openstack
    Copy to Clipboard Toggle word wrap
  3. 查看虚拟机以验证 control plane OpenShift Virtualization 虚拟机的创建:

    $ oc get virtualmachines -n openstack
    Copy to Clipboard Toggle word wrap
  4. 测试对 openstackclient 远程 shell 的访问:

    $ oc rsh -n openstack openstackclient
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat