第 12 章 访问 RADOS 对象网关 S3 端点
用户可以直接访问 RADOS 对象网关 (RGW) 端点。
先决条件
- 正在运行的 OpenShift Data Foundation
流程
运行
oc get service
命令以获取 RGW 服务名称。$ oc get service -n openshift-storage NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE (...) rook-ceph-rgw-ocs-storagecluster-cephobjectstore ClusterIP 172.30.145.254 <none> 80/TCP,443/TCP 5d7h (...)
运行
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 -n openshift-storage
输出示例:
NAME HOST/PORT PATH rook-ceph-rgw-ocs-storagecluster-cephobjectstore rook-ceph-rgw-ocs.ocp.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