3.3. 使用服务规格部署 Ceph 对象网关
您可以使用服务规格和默认域、区域和区域组来部署 Ceph 对象网关。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 对 bootstrap 启动主机的 root 级别访问权限。
- 主机添加到集群中。
- 部署所有管理器、监控和 OSD 守护进程。
流程
作为 root 用户,创建规格文件:
示例
touch radosgw.yml
[root@host01 ~]# touch radosgw.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过在 Ceph 对象网关关闭/restart 中将
rgw_graceful_stop
设置为 'true',将 S3 请求配置为等待rgw_exit_timeout_secs
参数中定义的持续时间。语法
ceph config set client.rgw rgw_graceful_stop true ceph config set client.rgw rgw_exit_timeout_secs 120
ceph config set client.rgw rgw_graceful_stop true ceph config set client.rgw rgw_exit_timeout_secs 120
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在容器化部署中,还需要额外的
extra_container_agrs
配置 of--stop-timeout=120
(或 rgw_exit_timeout_secs 配置的值(如果不是默认值),以便它能够与ceph orch stop/restart
命令正常工作。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
radosgw.yml
文件,使其包含 default realm、zone 和 zone group 的以下详情:语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意NUMBER_OF_DAEMONS 控制每个主机上部署的 Ceph 对象网关数量。要在不增加成本的情况下获得最高的性能,请将此值设置为 2。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 对于自定义 realm、zone 和 zone group,请创建资源,然后创建
radosgw.yml
文件:创建自定义 realm、zone 和 zone group:
示例
radosgw-admin realm create --rgw-realm=test_realm --default radosgw-admin zonegroup create --rgw-zonegroup=test_zonegroup --default radosgw-admin zone create --rgw-zonegroup=test_zonegroup --rgw-zone=test_zone --default radosgw-admin period update --rgw-realm=test_realm --commit
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下详细信息,创建
radosgw.yml
文件:示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将
radosgw.yml
文件挂载到容器中的某个目录下:示例
cephadm shell --mount radosgw.yml:/var/lib/ceph/radosgw/radosgw.yml
[root@host01 ~]# cephadm shell --mount radosgw.yml:/var/lib/ceph/radosgw/radosgw.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意每次退出 shell 时,您都必须在部署守护进程前将该文件挂载到容器中。
使用服务规格部署 Ceph 对象网关:
语法
ceph orch apply -i FILE_NAME.yml
ceph orch apply -i FILE_NAME.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch apply -i /var/lib/ceph/radosgw/radosgw.yml
[ceph: root@host01 /]# ceph orch apply -i /var/lib/ceph/radosgw/radosgw.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出服务:
示例
[ceph: root@host01 /]# ceph orch ls
[ceph: root@host01 /]# ceph orch ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出主机、守护进程和进程:
语法
ceph orch ps --daemon_type=DAEMON_NAME
ceph orch ps --daemon_type=DAEMON_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch ps --daemon_type=rgw
[ceph: root@host01 /]# ceph orch ps --daemon_type=rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow