6.5. 使用镜像服务


要采用镜像服务(glance),您可以修补禁用了镜像服务的现有 OpenStackControlPlane 自定义资源(CR)。补丁使用 Red Hat OpenStack Platform (RHOSP)环境提供的配置参数启动服务。

如果您看到以下结果,则镜像服务的采用已完成:

  • GlanceAPI 服务已启动且正在运行。
  • Identity 服务端点被更新,源云的后端可用。

要完成镜像服务的采用,请确保您的环境满足以下条件:

  • 您有一个正在运行的 director Operator 环境(源云)。
  • 您有一个在 Red Hat OpenShift Container Platform (RHOCP)集群中运行的单节点 OpenShift 或 OpenShift Local。
  • 可选:您可以通过 crc 和 director Operator 访问内部/外部 Ceph 集群。

如果您在 RHOSP 17.1 中有镜像配额,则这些配额会传送到 OpenShift 上的 Red Hat OpenStack Services (RHOSO) 18.0,因为默认情况下禁用了 18.0 中的镜像配额系统。有关在 18.0 中启用镜像配额的更多信息,请参阅自定义持久性存储 中的 配置镜像配额。如果您在 RHOSO 18.0 中启用镜像配额,新配额会替换 RHOSP 17.1 中的旧配额。

6.5.1. 使用对象存储服务后端部署的镜像服务

采用您在 Red Hat OpenStack Platform (RHOSP)环境中使用 Object Storage 服务(swift)后端部署的 Image Service (glance)。control plane glanceAPI 实例使用以下配置进行部署。您可以在使用对象存储后端部署镜像服务的补丁清单中使用此配置:

..
spec
  glance:
   ...
      customServiceConfig: |
          [DEFAULT]
          enabled_backends = default_backend:swift
          [glance_store]
          default_backend = default_backend
          [default_backend]
          swift_store_create_container_on_put = True
          swift_store_auth_version = 3
          swift_store_auth_address = {{ .KeystoneInternalURL }}
          swift_store_endpoint_type = internalURL
          swift_store_user = service:glance
          swift_store_key = {{ .ServicePassword }}

先决条件

  • 您已完成了以前的采用步骤。

流程

  1. 创建一个新文件,如 glance_swift.patch,并包含以下内容:

    spec:
      glance:
        enabled: true
        apiOverride:
          route: {}
        template:
          secret: osp-secret
          databaseInstance: openstack
          storage:
            storageRequest: 10G
          customServiceConfig: |
            [DEFAULT]
            enabled_backends = default_backend:swift
            [glance_store]
            default_backend = default_backend
            [default_backend]
            swift_store_create_container_on_put = True
            swift_store_auth_version = 3
            swift_store_auth_address = {{ .KeystoneInternalURL }}
            swift_store_endpoint_type = internalURL
            swift_store_user = service:glance
            swift_store_key = {{ .ServicePassword }}
          glanceAPIs:
            default:
              replicas: 1
              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 
    1
    
                    spec:
                      type: LoadBalancer
              networkAttachments:
                - storage
    1
    如果使用 IPv6,请将负载均衡器 IP 更改为环境中的负载均衡器 IP,如 metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80
    注意

    对象存储服务作为后端与镜像服务建立依赖项。如果镜像服务配置了在 OpenStackControlPlane 自定义资源中不可用的对象存储服务,则任何部署的 GlanceAPI 实例都无法正常工作。在 Object Storage 服务以及特定的 SwiftProxy 之后,您可以继续进行 GlanceAPI 的采用。如需更多信息,请参阅 使用对象存储服务

  2. 验证 SwiftProxy 是否可用:

    $ oc get pod -l component=swift-proxy | grep Running
    swift-proxy-75cb47f65-92rxq   3/3     Running   0
  3. 对 control plane 中部署的 GlanceAPI 服务进行补丁:

    $ oc patch openstackcontrolplane openstack --type=merge --patch-file=glance_swift.patch
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部