第 12 章 访问 RADOS 对象网关 S3 端点

用户可以直接访问 RADOS 对象网关 (RGW) 端点。

先决条件

  • 正在运行的 OpenShift Data Foundation

流程

  1. 运行 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
    
    (...)
  2. 运行 oc expose 命令,以公开 RGW 服务。

    $ oc expose svc/<RGW service name> --hostname=<route name>
    1. <RGW-service name> 替换为上一步中的 RGW 服务名称。
    2. <route name> 替换为您要为 RGW 服务创建的路由。

      例如:

      $ oc expose svc/rook-ceph-rgw-ocs-storagecluster-cephobjectstore --hostname=rook-ceph-rgw-ocs.ocp.host.example.com
  3. 运行 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