3.5. 配置数据平面以使用 Red Hat Ceph Storage 集群


配置数据平面以使用 Red Hat Ceph Storage 集群。

流程

  1. 创建一个 ConfigMap,其中包含 nova_compute 容器内计算服务(nova)配置文件 /etc/nova/nova.conf.d/ 的额外内容。此额外内容指示计算服务使用 Red Hat Ceph Storage RBD。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ceph-nova
    data:
     03-ceph-nova.conf: | 1
      [libvirt]
      images_type=rbd
      images_rbd_pool=vms
      images_rbd_ceph_conf=/etc/ceph/ceph.conf
      images_rbd_glance_store_name=default_backend
      images_rbd_glance_copy_poll_interval=15
      images_rbd_glance_copy_timeout=600
      rbd_user=openstack
      rbd_secret_uuid=$FSID 2
    1
    此文件名必须遵循 swig-< name>-nova.conf 的命名约定。文件由 Compute 服务按字母顺序评估。以 01 开头的文件名将在以 02 开头的文件名之前由 Compute 服务评估。当同一配置选项在多个文件中发生时,最后一个配置选项读取成功。
    2
    $FSID 值应包含实际的 FSID,如 获取 Ceph FSID 部分所述FSID 本身不需要被视为 secret。
  2. 创建 default nova 服务的自定义版本,以使用新的 ConfigMap,本例中为 ceph-nova

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneService
    metadata:
      name: nova-custom-ceph 1
    spec:
      label: dataplane-deployment-nova-custom-ceph
      caCerts: combined-ca-bundle
      edpmServiceType: nova
      dataSources:
       - configMapRef:
           name: ceph-nova
       - secretRef:
           name: nova-cell1-compute-config
       - secretRef:
           name: nova-migration-ssh-key
      playbook: osp.edpm.nova
    1
    自定义服务命名为 nova-custom-ceph。它不能命名为 nova,因为 nova 是不可更改的默认服务。任何名称与默认服务名称相同的自定义服务都会在协调过程中被覆盖。
  3. 应用 ConfigMap 和自定义服务更改:

    $ oc create -f ceph-nova.yaml
  4. 更新 OpenStackDataPlaneNodeSet 服务列表,将 nova 服务替换为新的自定义服务(本例中为 nova-custom-ceph),添加 ceph-client 服务,并使用 extraMounts 参数来定义对 Ceph Storage secret 的访问。

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneNodeSet
    spec:
      ...
      roles:
        edpm-compute:
          ...
          services:
            - configure-network
            - validate-network
            - install-os
            - configure-os
            - run-os
            - ceph-client
            - ovn
            - libvirt
            - nova-custom-ceph
            - telemetry
    
      nodeTemplate:
        extraMounts:
        - extraVolType: Ceph
          volumes:
          - name: ceph
            secret:
              secretName: ceph-conf-files
          mounts:
          - name: ceph
            mountPath: "/etc/ceph"
            readOnly: true
    注意

    libvirtnova-custom-ceph 服务之前,必须添加 ceph-client 服务。ceph-client 服务通过分发 Red Hat Ceph Storage 客户端文件将 EDPM 节点配置为 Red Hat Ceph Storage 服务器的客户端。

  5. 保存对 services 列表的更改。
  6. 创建 OpenStackDataPlaneDeployment CR:

    $ oc create -f <dataplanedeployment_cr_file>
    • <dataplanedeployment_cr_file > 替换为您的文件的名称。

结果

nova-custom-ceph 服务 Ansible 作业运行时,作业会从 ConfigMap 复制到计算服务主机。它还将使用 virsh secretProducer 命令,以便 libvirt 服务检索由 FSIDcephx secret。

  • 作业完成后在 EDPM 节点上运行以下命令,以确认作业结果:

    $ podman exec libvirt_virtsecretd virsh secret-get-value $FSID
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.