10.3. 使用服务规格部署 Ceph 对象网关

您可以使用服务规格和默认域、区域和区域组来部署 Ceph 对象网关。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 对 bootstrap 启动主机的 root 级别访问权限。
  • 主机添加到集群中。
  • 部署所有管理器、监控和 OSD 守护进程。

流程

  1. 作为 root 用户,创建规格文件:

    示例

    [root@host01 ~]# touch radosgw.yml

  2. 编辑 radosgw.yml 文件,使其包含 default realm、zone 和 zone group 的以下详情:

    语法

    service_type: rgw
    service_id: REALM_NAME.ZONE_NAME
    placement:
      hosts:
      - HOST_NAME_1
      - HOST_NAME_2
      count_per_host: NUMBER_OF_DAEMONS
    spec:
      rgw_realm: REALM_NAME
      rgw_zone: ZONE_NAME
      rgw_frontend_port: FRONT_END_PORT
    networks:
      -  NETWORK_CIDR # Ceph Object Gateway service binds to a specific network

    注意

    NUMBER_OF_DAEMONS 控制每个主机上部署的 Ceph 对象网关数量。要在不产生额外成本的情况下获得最高性能,请将此值设置为 2。

    示例

    service_type: rgw
    service_id: default
    placement:
      hosts:
      - host01
      - host02
      - host03
      count_per_host: 2
    spec:
      rgw_realm: default
      rgw_zone: default
      rgw_frontend_port: 1234
    networks:
      - 192.169.142.0/24

  3. 可选: 对于自定义 realm、zone 和 zone group,请创建资源,然后创建 radosgw.yml 文件:

    1. 创建自定义 realm、zone 和 zone group:

      示例

      [root@host01 ~]# radosgw-admin realm create --rgw-realm=test_realm --default
      [root@host01 ~]# radosgw-admin zonegroup create --rgw-zonegroup=test_zonegroup --default
      [root@host01 ~]# radosgw-admin zone create --rgw-zonegroup=test_zonegroup --rgw-zone=test_zone --default
      [root@host01 ~]# radosgw-admin period update --rgw-realm=test_realm --commit

    2. 使用以下详细信息,创建 radosgw.yml 文件:

      示例

      service_type: rgw
      service_id: test_realm.test_zone
      placement:
        hosts:
        - host01
        - host02
        - host03
        count_per_host: 2
      spec:
        rgw_realm: test_realm
        rgw_zone: test_zone
        rgw_frontend_port: 1234
      networks:
        - 192.169.142.0/24

  4. radosgw.yml 文件挂载到容器中的某个目录下:

    示例

    [root@host01 ~]# cephadm shell --mount radosgw.yml:/var/lib/ceph/radosgw/radosgw.yml

    注意

    每次退出 shell 时,您都必须在部署守护进程前将该文件挂载到容器中。

  5. 使用服务规格部署 Ceph 对象网关:

    语法

    ceph orch apply -i FILE_NAME.yml

    示例

    [ceph: root@host01 /]# ceph orch apply -i radosgw.yml

验证

  • 列出服务:

    示例

    [ceph: root@host01 /]# ceph orch ls

  • 列出主机、守护进程和进程:

    语法

    ceph orch ps --daemon_type=DAEMON_NAME

    示例

    [ceph: root@host01 /]# ceph orch ps --daemon_type=rgw