10.3. 使用服务规格部署 Ceph 对象网关
您可以使用服务规格和默认域、区域和区域组来部署 Ceph 对象网关。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 对 bootstrap 启动主机的 root 级别访问权限。
- 主机添加到集群中。
- 部署所有管理器、监控和 OSD 守护进程。
流程
作为 root 用户,创建规格文件:
示例
[root@host01 ~]# touch radosgw.yml
编辑
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
可选: 对于自定义 realm、zone 和 zone group,请创建资源,然后创建
radosgw.yml
文件:创建自定义 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
使用以下详细信息,创建
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
将
radosgw.yml
文件挂载到容器中的某个目录下:示例
[root@host01 ~]# cephadm shell --mount radosgw.yml:/var/lib/ceph/radosgw/radosgw.yml
注意每次退出 shell 时,您都必须在部署守护进程前将该文件挂载到容器中。
使用服务规格部署 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