注意

本文档适用于 Ceph 的开发版本。

RGW 模块

rgw 模块提供了一个简单的界面来部署 RGW 多站点。它有助于引导和配置 RGW realm、zonegroup 以及不同的相关实体。

启用

要启用 rgw 模块,请运行以下命令

ceph mgr module enable rgw

RGW Realm 操作

引导 RGW realm 会创建一个新的 RGW realm 实体、一个新的 zonegroup 和一个新的 zone。它配置了一个新的系统用户,可用于多站点同步操作。在底层,此模块指示编排器创建和部署相应的 RGW 守护程序。该模块支持通过命令行或作为 spec 文件传递参数

ceph rgw realm bootstrap [--realm-name] [--zonegroup-name] [--zone-name] [--port] [--placement] [--start-radosgw]

该命令支持通过 spec 文件 (-i 选项) 进行配置

ceph rgw realm bootstrap -i myrgw.yaml

以下是 RGW 多站点 spec 文件示例

rgw_realm: myrealm
rgw_zonegroup: myzonegroup
rgw_zone: myzone
placement:
  hosts:
   - ceph-node-1
   - ceph-node-2
spec:
  rgw_frontend_port: 5500

注意

RGW 多站点 spec 文件遵循与 cephadm 编排器 spec 文件相同的格式。因此,用户可以指定任何受支持的 RGW 参数,包括高级配置功能(例如 SSL 证书等)。

用户还可以在 spec 中(或通过命令行)指定自定义区域端点。在这种情况下,不会启动 cephadm 守护程序。以下是带有区域端点的 RGW spec 文件示例

rgw_realm: myrealm
rgw_zonegroup: myzonegroup
rgw_zone: myzone
zone_endpoints: http://<rgw_host1>:<rgw_port1>, http://<rgw_host2>:<rgw_port2>

Realm 凭证令牌

用户可以列出为已创建(或已存在)realm 可用的令牌。令牌是一个 base64 字符串,它封装了 realm 信息及其主区域端点身份验证数据。以下是 ceph rgw realm tokens 输出的示例

ceph rgw realm tokens | jq
[
  {
    "realm": "myrealm1",
    "token": "ewogICAgInJlYWxtX25hbWUiOiAibXlyZWFs....NHlBTFhoIgp9"
  },
  {
    "realm": "myrealm2",
    "token": "ewogICAgInJlYWxtX25hbWUiOiAibXlyZWFs....RUU12ZDB0Igp9"
  }
]

用户可以使用令牌拉取 realm,以在不同集群上创建辅助区域,该区域通过使用 ceph rgw zone create 命令并提供相应的令牌与主集群上的主区域同步。

以下是区域 spec 文件示例

rgw_zone: my-secondary-zone
rgw_realm_token: <token>
placement:
  hosts:
   - ceph-node-1
   - ceph-node-2
spec:
  rgw_frontend_port: 5500
ceph rgw zone create -i zone-spec.yaml

注意

RGW 使用的 spec 文件格式与编排器使用的相同。因此,用户可以提供任何编排支持的 RGW 参数,包括高级配置功能(例如 SSL 证书等)。

命令

ceph rgw realm bootstrap -i spec.yaml

创建新的 realm + zonegroup + zone,并通过编排器使用 YAML 文件中指定的信息部署 RGW 守护程序。

ceph rgw realm tokens

列出所有可用 realm 的令牌

ceph rgw zone create -i spec.yaml

通过创建新的辅助区域(使用 realm 令牌)加入现有 realm

ceph rgw admin [*]

升级根 CA 证书

  1. 确保 RGW 服务正在运行。

  2. 确保 RGW 服务已启动。

  3. 确保 RGW 服务已升级到最新版本。

  4. 从主集群的管理节点运行以下命令

    ceph orch cert-store get cert cephadm_root_ca_cert
    
  5. 在运行 RGW 服务的节点上,将证书存储在以下路径中

    /etc/pki/ca-trust/source/anchors/<cert_name>.crt
    
  6. 通过运行以下命令验证证书

    openssl x509 -in <cert_name>.crt -noout -text
    
  7. 在所有辅助集群的管理节点和 RGW 节点上执行上述步骤。

  8. 在所有集群上验证证书后,在所有生成证书的集群上运行以下命令

    update-ca-trust
    
  9. 从主集群确保用户可以运行 curl 命令

    curl https://<host_ip>:443
    

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入