6.6. 配置多个镜像服务 API 实例


您可以部署多个镜像服务 API (glanceAPI)实例来为不同的工作负载提供服务,例如在边缘部署中。当您部署多个 glanceAPI 实例时,它们由同一 glance-operator 编排,但您可以将它们连接到单一后端或不同的后端。

多个 glanceAPI 实例从 OpenStackControlPlane CR 文件中的主 customServiceConfig 参数继承相同的配置。您可以使用 extraMounts 参数将每个实例连接到后端。例如,您可以将每个实例连接到单个 Red Hat Ceph Storage 集群或不同的 Red Hat Ceph Storage 集群。

您还可以在可用区(AZ)中部署多个 glanceAPI 实例,以便在该 AZ 中服务不同的工作负载。

注意

您只能在 Keystone 目录中注册一个 glanceAPI 实例作为 OpenStack CLI 操作的端点,但您可以通过更新 OpenStackControlPlane CR 文件中的 keystoneEndpoint 参数来更改默认端点。

有关添加和停用 glanceAPIs 的详情,请参考使用镜像服务(glance)执行操作

流程

  1. 打开 OpenStackControlPlane CR 文件 openstack_control_plane.yaml,并将 glanceAPIs 参数添加到 glance 模板,以配置多个 glanceAPI 实例。在以下示例中,您要创建三个 glanceAPI 实例,它们名为 api0api1api2

    ...
    spec:
      glance:
        template:
          customServiceConfig: |
            [DEFAULT]
            enabled_backends = default_backend:rbd
            [glance_store]
            default_backend = default_backend
            [default_backend]
            rbd_store_ceph_conf = /etc/ceph/ceph.conf
            store_description = "RBD backend"
            rbd_store_pool = images
            rbd_store_user = openstack
          databaseInstance: openstack
          databaseUser: glance
          keystoneEndpoint: api0
          glanceAPIs:
            api0:
              replicas: 1
            api1:
              replicas: 1
            api2:
              replicas: 1
        ...
    Copy to Clipboard Toggle word wrap
    • api0 在 Keystone 目录中注册,是 OpenStack CLI 操作的默认端点。
    • api1api2 不是默认端点,但它们是活跃的 API,用户可以在上传镜像时指定 -os-image-url 参数用于镜像上传。
    • 您可以更新 keystoneEndpoint 参数,以更改 Keystone 目录中的默认端点。
  2. 添加 extraMounts 参数,将三个 glanceAPI 实例连接到不同的后端。在以下示例中,您要将 api0api1api2 连接到三个不同的 Ceph Storage 集群,它们名为 ceph0ceph1ceph2

    spec:
      glance:
        template:
          customServiceConfig: |
            [DEFAULT]
            ...
          extraMounts:
            - name: api0
              region: r1
              extraVol:
                - propagation:
                  - api0
                  volumes:
                  - name: ceph0
                    secret:
                      secretName: <secret_name>
                  mounts:
                  - name: ceph0
                    mountPath: "/etc/ceph"
                    readOnly: true
            - name: api1
              region: r1
              extraVol:
                - propagation:
                  - api1
                  volumes:
                  - name: ceph1
                    secret:
                      secretName: <secret_name>
                  mounts:
                  - name: ceph1
                    mountPath: "/etc/ceph"
                    readOnly: true
            - name: api2
              region: r1
              extraVol:
                - propagation:
                  - api2
                  volumes:
                  - name: ceph2
                    secret:
                      secretName: <secret_name>
                  mounts:
                  - name: ceph2
                    mountPath: "/etc/ceph"
                    readOnly: true
    ...
    Copy to Clipboard Toggle word wrap
    • 将 &lt ;secret_name > 替换为您要用作特定 glanceAPI 的 Ceph Storage 集群的 secret 名称,如 ceph0 集群的 ceph-conf-files-0
  3. 更新 control plane:

    $ oc apply -f openstack_control_plane.yaml -n openstack
    Copy to Clipboard Toggle word wrap
  4. 等待 RHOCP 创建与 OpenStackControlPlane CR 相关的资源。运行以下命令来检查状态:

    $ oc get openstackcontrolplane -n openstack
    Copy to Clipboard Toggle word wrap

    当状态为 "Setup complete" 时,会创建 OpenStackControlPlane 资源。

    提示

    -w 选项附加到 get 命令的末尾,以跟踪部署进度。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat