7.3. 创建自定义 nova 服务


要创建 Compute 节点集合所需的自定义服务,请完成以下任务:

  1. 创建 ConfigMap 自定义资源(CR)来配置节点。
  2. 为运行 playbook 的节点集合创建自定义服务。
  3. 在自定义服务中包含 ConfigMap CR。

您必须为每个可用区(AZ)创建一个唯一的 ConfigMap 和自定义 Compute 服务。

为每个 AZ 重复此步骤。

流程

  1. 在工作站上创建一个名为 nova-extra-config-az1.yaml 的文件,为 AZ 定义 Compute 节点设置的 ConfigMap CR。
  2. 定义一个新的配置文件,以应用到 AZ 为 AZ 设置的节点中的 Compute 节点,为本地 AZ 添加镜像服务(glance)端点,并将 cross_az_attach 字段设置为 false

    • 如果使用 Red Hat Ceph Storage,请包含 RBD 选项:

      示例:

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: nova-extra-config-az1
      data:
        03-ceph-nova.conf:
          [libvirt]
          images_type = rbd
          images_rbd_pool = vms
          images_rbd_ceph_conf = /etc/ceph/az1.conf
          images_rbd_glance_store_name = az1
          images_rbd_glance_copy_poll_interval = 15
          images_rbd_glance_copy_timeout = 600
          rbd_user = openstack
          rbd_secret_uuid=$FSID
          hw_disk_discard = unmap
          [glance]
          endpoint_override = https://glance-az1-internal.openstack.svc:9292
          valid_interfaces = internal
          [cinder]
          cross_az_attach = False
          catalog_info = volumev3:cinderv3:internalURL
    • 如果您使用带有多路径的第三方存储设备,请将 volume_use_multipath 设置为 True :

      示例:

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: nova-extra-config-az1
      data:
        25-nova-extra.conf: |
          [libvirt]
          volume_use_multipath = True
          [glance]
          endpoint_override = https://glance-az1-internal.openstack.svc:9292
          valid_interfaces = internal
          [cinder]
          cross_az_attach = False
          catalog_info = volumev3:cinderv3:internalURL
    • data.<filename > : 文件名必须遵循 swig -<name>-nova.conf 的命名约定。文件由 Compute 服务按字母顺序评估。以 01 开头的文件名将在以 02 开头的文件名之前由 Compute 服务评估。当同一配置选项在多个文件中发生时,配置选项将设置为最后读取的值。
    • rbd_secret_uuid :$FSID 值应包含实际的 FSID,如 配置持久性存储 中的 获取 Red Hat Ceph Storage File System Identifier 中所述。FSID 本身不需要被视为 secret。

    部署服务时,它会将配置添加到服务容器中的 etc/<service>/<service>.conf.d/ 目录中。例如,对于计算功能,配置文件将添加到 nova_compute 容器中的 etc/nova/nova.conf.d/ 中。

    + 有关创建 ConfigMap 对象的更多信息,请参阅 RHOCP 节点 指南中的 创建和使用配置映射

  3. 创建 ConfigMap CR:

    $ oc create -f nova-extra-config-az1.yaml
  4. 在工作站上创建一个名为 nova-custom-az1.yaml 的文件,为 AZ 为 Compute 节点定义 OpenStackDataPlaneService CR:

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneService
    metadata:
      name: nova-custom-az1
    spec:
      addCertMounts: false
      caCerts: combined-ca-bundle
      edpmServiceType: nova
      playbook: osp.edpm.nova
      tlsCerts:
        default:
          contents:
          - dnsnames
          - ips
          edpmRoleServiceName: nova
          issuer: osp-rootca-issuer-internal
          networks:
          - ctlplane
  5. ConfigMap CR 添加到自定义服务中:

      dataSources:
      - configMapRef:
          name: ceph-nova-az1
      - secretRef:
          name: nova-migration-ssh-key
  6. 为运行此服务的节点集的单元指定 Secret CR:

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneService
    metadata:
      name: <nodeset>-service
    spec:
      ...
      dataSources:
        - configMapRef:
            name: feature-configmap
        - secretRef:
            name: nova-migration-ssh-key
        - secretRef:
            name: nova-cell1-compute-config
  7. 创建自定义服务:

    $ oc create -f nova-custom-az1.yaml
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部