1.12. 使用 Compute 服务


请注意,这个示例场景描述了一个简单的单单元设置。在生产环境中建议使用实际的多堆栈拓扑会导致不同的单元 DBs 布局,应该使用不同的命名方案(目前没有涵盖)。

1.12.1. 先决条件

1.12.2. 变量

定义以下步骤中使用的 shell 变量和别名。这些值只是说明,使用适合您环境的值:

alias openstack="oc exec -t openstackclient -- openstack"
Copy to Clipboard Toggle word wrap

1.12.3. 流程 - Nova 采用

注意 :这个过程假设 Nova 元数据部署在顶层,而不是在每个单元级别上部署,因此本例以同样的方式导入它。如果源部署每个单元元数据部署都有,请根据需要调整以下提供的补丁。元数据服务无法在 cell0 中运行。

  • 对 OpenStackControlPlane 进行补丁来部署 Nova:

    oc patch openstackcontrolplane openstack -n openstack --type=merge --patch '
    spec:
      nova:
        enabled: true
        apiOverride:
          route: {}
        template:
          secret: osp-secret
          apiServiceTemplate:
            override:
              service:
                internal:
                  metadata:
                    annotations:
                      metallb.universe.tf/address-pool: internalapi
                      metallb.universe.tf/allow-shared-ip: internalapi
                      metallb.universe.tf/loadBalancerIPs: 172.17.0.80
                  spec:
                    type: LoadBalancer
            customServiceConfig: |
              [workarounds]
              disable_compute_service_check_for_ffu=true
          metadataServiceTemplate:
            enabled: true # deploy single nova metadata on the top level
            override:
              service:
                metadata:
                  annotations:
                    metallb.universe.tf/address-pool: internalapi
                    metallb.universe.tf/allow-shared-ip: internalapi
                    metallb.universe.tf/loadBalancerIPs: 172.17.0.80
                spec:
                  type: LoadBalancer
            customServiceConfig: |
              [workarounds]
              disable_compute_service_check_for_ffu=true
          schedulerServiceTemplate:
            customServiceConfig: |
              [workarounds]
              disable_compute_service_check_for_ffu=true
          cellTemplates:
            cell0:
              conductorServiceTemplate:
                customServiceConfig: |
                  [workarounds]
                  disable_compute_service_check_for_ffu=true
            cell1:
              metadataServiceTemplate:
                enabled: false # enable here to run it in a cell instead
                override:
                    service:
                      metadata:
                        annotations:
                          metallb.universe.tf/address-pool: internalapi
                          metallb.universe.tf/allow-shared-ip: internalapi
                          metallb.universe.tf/loadBalancerIPs: 172.17.0.80
                      spec:
                        type: LoadBalancer
                customServiceConfig: |
                  [workarounds]
                  disable_compute_service_check_for_ffu=true
              conductorServiceTemplate:
                customServiceConfig: |
                  [workarounds]
                  disable_compute_service_check_for_ffu=true
    '
    Copy to Clipboard Toggle word wrap
  • 等待 Nova control plane 服务 CR 就绪:

    oc wait --for condition=Ready --timeout=300s Nova/nova
    Copy to Clipboard Toggle word wrap

    本地 Conductor 服务将为每个单元启动,而超级编排器在 cell0 中运行。请注意,所有导入的 Nova 服务都需要 disable_compute_service_check_for_ffu,直到导入外部数据平面,直到 Nova Compute 服务快速升级为止。如需更多信息,请参阅 采用 EDPM

1.12.4. post-checks

  • 检查 Nova 端点是否已定义并指向指定的 FQDN,以及 Nova API 响应。

    openstack endpoint list | grep nova
    openstack server list
    Copy to Clipboard Toggle word wrap

将以下输出与特定于拓扑的配置进行比较。

  • 查询超级编排器的 cell1 存在,并将其与 pre-adoption 值进行比较:

    . ~/.source_cloud_exported_variables
    echo $PULL_OPENSTACK_CONFIGURATION_NOVAMANAGE_CELL_MAPPINGS
    oc rsh nova-cell0-conductor-0 nova-manage cell_v2 list_cells | grep -F '| cell1 |'
    Copy to Clipboard Toggle word wrap

    发生预期的更改:

    • cell1 的 nova DB 和用户名变为 nova_cell1
    • 默认单元被重命名为 cell1 (在多单元设置中,它应该被索引为最后一个单元)。
    • RabbitMQ 传输 URL 不再使用 客户机

请注意,此时,Nova control plane 服务已经控制现有的 Nova 计算工作负载。在 EDPM 采用完成后才能验证这一点。如需更多信息,请参阅 采用 EDPM

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat