第 12 章 访问 RADOS 对象网关 S3 端点
用户可以直接访问 RADOS 对象网关 (RGW) 端点。
先决条件
- 正在运行的 OpenShift Container Storage Platform
流程
运行
oc get service
命令以获取 RGW 服务名称。$ oc get service NAME TYPE rook-ceph-rgw-ocs-storagecluster-cephobjectstore ClusterIP CLUSTER-IP EXTERNAL-IP PORT(S) AGE 172.30.99.207 <none> 80/TCP 4d15h
运行
oc expose
命令,以公开 RGW 服务。$ oc expose svc/<RGW service name> --hostname=<route name>
将
<RGW-service name>
替换为上一步中的 RGW 服务名称。将
<route name>
替换为您要为 RGW 服务创建的路由。例如:
$ oc expose svc/rook-ceph-rgw-ocs-storagecluster-cephobjectstore --hostname=rook-ceph-rgw-ocs.ocp.host.example.com
运行
oc get route
命令,以确认oc expose
成功并且存在 RGW 路由。$ oc get route NAME HOST/PORT PATH rook-ceph-rgw-ocs-storagecluster-cephobjectstore rook-ceph-rgw-ocsocp.host.example.com SERVICES PORT TERMINATION WILDCARD rook-ceph-rgw-ocs-storagecluster-cephobjectstore http <none>
验证
要验证
ENDPOINT
,请运行以下命令:aws s3 --no-verify-ssl --endpoint <ENDPOINT> ls
将
<ENDPOINT>
替换为您在上面的步骤 3 中的命令中获得的路由。例如:
$ aws s3 --no-verify-ssl --endpoint http://rook-ceph-rgw-ocs.ocp.host.example.com ls
注意
要获取默认用户 ocs-storagecluster-cephobjectstoreuser
的访问密钥和 secret,请运行以下命令:
访问密钥:
$ oc get secret rook-ceph-object-user-ocs-storagecluster-cephobjectstore-ocs-storagecluster-cephobjectstoreuser -n openshift-storage -o yaml | grep -w "AccessKey:" | head -n1 | awk '{print $2}' | base64 --decode
secret 密钥:
$ oc get secret rook-ceph-object-user-ocs-storagecluster-cephobjectstore-ocs-storagecluster-cephobjectstoreuser -n openshift-storage -o yaml | grep -w "SecretKey:" | head -n1 | awk '{print $2}' | base64 --decode