Ceph 对象网关支持

概述

Ceph 项目是一个强大的分布式存储系统。它包含对象存储,并提供一个 RADOS Gateway Swift API,该 API 与 OpenStack Swift API 兼容。

Ironic 在 Mitaka 版本中添加了对 RADOS Gateway 临时 URL 的支持。

使用 RADOS Gateway 配置 Ironic 和 Glance

  1. 安装带有 RADOS Gateway 的 Ceph 存储。请参阅 Ceph 文档

  2. 配置 RADOS Gateway 以使用 keystone 进行身份验证。请参阅 与 OpenStack Keystone 集成

  3. 以与 swift 相同的方式,将 RADOS Gateway 端点注册到 keystone 目录中,作为 object-store 服务。URL 示例

    http://rados.example.com:8080/swift/v1/AUTH_$(project_id)s.

    在 ceph 配置文件中,确保 radosgw 配置了以下值

    rgw swift account in url = True
    
  4. 配置 Glance API 服务以使用 RADOS Swift API 作为后端。编辑 Glance API 服务配置文件(通常位于 /etc/glance/glance-api.conf

    [glance_store]
    
    stores = file, http, swift
    default_store = swift
    default_swift_reference=ref1
    swift_store_config_file=/etc/glance/glance-swift-creds.conf
    swift_store_container = glance
    swift_store_create_container_on_put = True
    

    swift_store_config_file 选项引用的文件中,添加以下内容

    [ref1]
    user = <service project>:<service user name>
    key = <service user password>
    user_domain_id = default
    project_domain_id = default
    auth_version = 3
    auth_address = http://keystone.example.com/identity
    

    user 和 key 选项的值对应于 RADOS Gateway 服务用户的 keystone 凭据。

    注意:RADOS Gateway 使用 FastCGI 协议与 HTTP 服务器交互。如果您想启用 HTTPS 支持,请阅读您的 HTTP 服务器文档。

  5. 重新启动 Glance API 服务并上传所有需要的镜像。

  6. 如果您在 RADOS 中使用自定义容器名称,请按照以下方式更改 Ironic 配置文件,位于 conductor 主机上

    [glance]
    
    swift_container = glance
    
  7. 重新启动 Ironic conductor 服务。