12장. RADOS 오브젝트 게이트웨이 S3 끝점 액세스

사용자는 RGW(RADOS Object Gateway) 엔드포인트에 직접 액세스할 수 있습니다.

사전 요구 사항

  • 실행 중인 OpenShift Container Storage Platform

절차

  1. 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
  2. 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
  3. 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 의 액세스 키와 시크릿을 가져오려면 다음 명령을 실행합니다.

  • 액세스 키:

    $ 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
  • 시크릿 키:

    $ 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