Presto 서버에 보안 라우트 노출

보안 라우트는 여러 유형의 TLS 종료를 사용하여 클라이언트에 인증서를 제공하는 기능을 제공합니다. ' watsonx.data™'에서 Presto 서버에 보안 경로를 노출하려면 ' reencrypt ' 경로를 사용합니다.

주의: 이 절차를 사용하여 ' watsonx.data v1.0.0 또는 v1.0.1 대한 보안 경로를 Presto 서버에 노출하세요.

' watsonx.data v1.0.2 경우 프로비저닝된 각 Presto 엔진에 대해 경로가 자동으로 생성됩니다.

참고: 라우트는 OpenShift® 클러스터 외부에서 Presto 엔진에 액세스해야 하는 경우에만 노출되어야 합니다. 또한 OCP 클러스터 외부의 클라이언트가 연결해야 하는 경우 프로비저닝되는 모든 새 Presto 엔진에 대해 라우트가 노출되어야 합니다.

이 태스크에 대한 정보

다음 단계를 완료하여 ' watsonx.data'의 ' Presto 서버에 보안 경로를 노출합니다

프로시저

  1. OpenShift 컨테이너에 로그인하십시오.
    다음 방법 중 하나를 사용하여 OpenShift 서버에 대한 세션을 설정하십시오.
    1. 사용자 이름 및 비밀번호를 제공하여 클러스터에 로그인하려면 다음 명령을 실행하십시오.
      oc login \
      --user=${OCP_USERNAME} \
      --password=${OCP_PASSWORD} \
      --server=${OCP_URL}
    2. 토큰을 제공하여 클러스터에 로그인하려면 다음 명령을 실행하십시오.
      oc login \
      --server=${OCP_URL} \
      --token=${OCP_TOKEN}
  2. watsonx.data 가 설치된 네임스페이스를 가리키는 PROJECT_CPD_INST_OPERANDS 환경 변수를 설정하십시오.
    export PROJECT_CPD_INST_OPERANDS=<wxd_namespace>
  3. 자체 서명된 TLS 인증서를 추출하십시오.
    oc extract secret/ibm-lh-tls-secret --keys=tls.crt -n ${PROJECT_CPD_INST_OPERANDS}
    자체 서명된 인증서가 tls.crt에 추출됩니다.
  4. 노출할 엔진 및 서비스 이름을 식별하십시오.
    oc get wxdengine -n ${PROJECT_CPD_INST_OPERANDS} -o custom-columns='CR-NAME:metadata.name,ENGINE:spec.engineDisplayName,SERVICE:spec.engineUri' | sed 's/.'${PROJECT_CPD_INST_OPERANDS}'.svc.cluster.local//'
    예:

    Presto 서버용으로 생성한 엔진이 두 개 있는 경우:

    # oc get wxdengine -n ${PROJECT_CPD_INST_OPERANDS} -o custom-columns='CR-NAME:metadata.name,ENGINE:spec.engineDisplayName,SERVICE:spec.engineUri' | sed 's/.'${PROJECT_CPD_INST_OPERANDS}'.svc.cluster.local//'
    CR-NAME               ENGINE      SERVICE
    lakehouse-presto-01   presto-01   ibm-lh-lakehouse-presto-01-presto-svc
    lakehouse-presto314   jsizto-01   ibm-lh-lakehouse-presto314-presto-svc
    
    1. 노출할 엔진 라우트의 SERVICE 이름을 가리키는 ENGINE_SVC_TO_EXPOSE 환경 변수를 설정하십시오.
      export ENGINE_SVC_TO_EXPOSE=<SERVICE>
      예:

      엔진 ' presto-01'에 대한 보안 경로를 노출하려면 이 서비스로 설정하세요:

      # export ENGINE_SVC_TO_EXPOSE=ibm-lh-lakehouse-presto-01-presto-svc
  5. 다시 암호화 라우트를 작성하여 엔진을 노출하십시오.
    oc create route reencrypt \
    --service=${ENGINE_SVC_TO_EXPOSE} \
    --dest-ca-cert=tls.crt \
    --port 8443 -n ${PROJECT_CPD_INST_OPERANDS}
  6. 새 재암호화 라우트를 확인하고 기록하십시오.
    oc get route -n ${PROJECT_CPD_INST_OPERANDS} ${ENGINE_SVC_TO_EXPOSE}

    보안 라우트는 HOST/PORT열 아래에 있습니다.

    예:

    이 예에서 보안 라우트 이름은 다음과 같습니다.
    ibm-lh-lakehouse-presto-01-presto-svc-cpd-instance.apps.example.cp.fyre.ibm.com
    # oc get route -n ${PROJECT_CPD_INST_OPERANDS} ${ENGINE_SVC_TO_EXPOSE}
    NAME                                   HOST/PORT                                                                        PATH   SERVICES                               PORT  TERMINATION  WILDCARD
    ibm-lh-lakehouse-presto-01-presto-svc  ibm-lh-lakehouse-presto-01-presto-svc-cpd-instance.apps.example.cp.fyre.ibm.com         ibm-lh-lakehouse-presto-01-presto-svc  8443  reencrypt    None
  7. 노출된 Presto 서버에 연결하려면 노출된 보안 경로 이름을 호스트 이름으로 사용하고 이 경로의 포트 번호로 포트 443을 사용합니다.