빠른 시작: 시작하기 전에

이 빠른 시작에서는 Speech-to-Text On-Prem API 배포 전에 완료해야 하는 일련의 작업을 안내합니다. 설치 및 설정 중에 노출되는 구성 가능한 API 매개변수에 대한 상세 내용은 API 구성 페이지를 참조하세요.

  1. 원하는 요금제 상품을 구매합니다.
  2. 필요한 ID 및 액세스 관리(IAM) 역할을 서비스 계정에 할당합니다.
  3. 필수 도구를 설치합니다.
  4. Kubernetes 클러스터 만들기
  5. 명령줄에서 API를 사전 구성합니다(CLI의 경우 선택사항).
  6. gRPC 부하 분산용 Istio를 설치합니다(선택사항).

결제 설정

Google Cloud 솔루션 페이지에서 구매 계획을 클릭합니다. 이 작업은 결제 계정 관리자가 수행해야 합니다. Google Cloud Platform Console 왼쪽 측면 탐색 메뉴에서 결제 -> 계정 관리로 이동하여 오른쪽 측면의 역할/주 구성원을 확인할 수 있습니다. 이 작업은 한 번만 수행하면 됩니다.

필요한 IAM 역할

  1. 대시보드에서 Google Cloud Platform 프로젝트 드롭다운 메뉴를 찾으세요.

  2. 표시된 팝업 창에서 기존 Google Cloud Platform 프로젝트를 선택하거나 새 프로젝트를 만들 수 있습니다. Speech-to-Text On-Prem과 연결하려는 프로젝트를 선택한 후 왼쪽 위 모서리에 있는 햄버거 아이콘으로 이동한 후 IAM 및 관리자 --> IAM을 선택하여 해당 프로젝트와 연결된 서비스 계정 목록을 확인합니다.

  3. 설치 중 사용할 Google Cloud Platform 프로젝트에 속하는 서비스 계정에 다음 역할을 할당합니다. 이러한 역할은 단일 서비스 계정 또는 여러 개의 개별 계정에 할당될 수 있지만 모든 계정이 동일한 프로젝트에 속해야 합니다. 서비스 계정 권한을 편집하려면 서비스 계정 이름 오른쪽에 있는 연필 아이콘을 클릭합니다. 또한 Google Cloud Platform 콘솔의 IAM 페이지 위에서 +추가 버튼을 클릭하여 새 서비스 계정을 만들 수도 있습니다.

    필수 IAM 역할:

    • 프로젝트 뷰어
    • 결제 계정 관리자(요금제 구매에 필요하고 배포에는 필요 없음)
    • Kubernetes Engine 관리자 (GKE에 배포하는 경우)
    • Kubernetes Engine 클러스터 관리자 (Anthos에 배포하는 경우)

필수 도구

  1. Google Cloud CLI를 설치합니다.
  2. kubectl을 설치합니다.

Kubernetes 클러스터 만들기

GKE 또는 Anthos 클러스터를 실행 중인지 확인합니다. Kubernetes 클러스터는 Google Cloud Platform에서 사용 가능합니다. 기존 클러스터가 있는 경우 클러스터 이름 왼쪽의 상자를 선택하여 표시되는 목록에서 항목을 하나 선택할 수 있습니다.

기존 클러스터가 없으면 클러스터를 만들라는 프롬프트가 표시됩니다. 클러스터의 매개변수가 아래 목록의 권장사항과 일치하는지 확인합니다(기본 매개변수는 충분하지 않음). 클러스터가 배포된 Google Cloud Platform 프로젝트 이름뿐만 아니라 클러스터의 이름위치를 기록합니다.

클러스터 설정 기본 권장사항:

  • 출시 채널: 일반.
  • 노드 풀 크기는 $REPLICAS보다 크거나 같아야 합니다.
  • 노드 머신 유형: e2-standard-4(vCPU 4개, 16GB 메모리) 이상
  • 자동 확장 사용 설정
  • gRpc 부하 분산이 필요한 경우 Istio를 사용 설정합니다(선택사항).
  • Stackdriver로 측정항목을 내보내려면 Kubernetes Engine Monitoring을 사용 설정하세요(선택사항).

gRPC 부하 분산용 Istio를 설치합니다(선택사항).

Speech-to-Text On-Prem 확장을 위해 여기에서는 gRPC와 호환되는 L7 부하 분산기가 사용됩니다. 사용 가능한 옵션이 여러 개 있지만 여기에서는 Istio 샘플 구성을 제공합니다. 기본 Kubernetes 서비스 L3 부하 분산 전략은 충분하지 않습니다. Google Cloud 공식 가이드 또는 Istio 공식 페이지에 따라 Istio를 설치할 수 있습니다. 또한 측정항목을 내보내려면 1단계 및 2단계(아래의 Kubernetes 클러스터 구성 섹션)를 수행하고 아래 명령어를 실행합니다.

    kubectl get deployment/istio-pilot -n istio-system \
    && kubectl set env deployment/istio-pilot -n istio-system PILOT_HTTP10=1 \
    || kubectl set env deployment/istiod -n istio-system PILOT_HTTP10=1

PILOT_HTTP10=1 플래그는 애플리케이션에서 HTTP 1.0 요청을 수행하도록 허용합니다. 이 플래그는 원격 분석 게시를 위해 애플리케이션이 Stackdriver에 인증하도록 허용하기 위해 필요합니다(Google Cloud Platform 메타데이터 서버).

명령줄에서 API 사전 구성(선택사항)

CLI 기반 설치를 수행하려는 경우 이 섹션의 안내를 따르세요.

환경 구성

  1. Docker를 설치합니다.
  2. mpdev 도구를 설치합니다.

Kubernetes 클러스터 구성

  1. PROJECTNAMESPACE 환경 변수를 설정합니다. PROJECT는 클러스터가 배포된 Google Cloud Platform 프로젝트의 프로젝트 ID입니다. NAMESPACE는 아래 3단계에서 만들 새 네임스페이스의 이름입니다. NAMESPACE에 어떤 값이든 입력할 수 있지만 안전하게 'speech' 기본값을 사용하는 것이 좋습니다.

    export PROJECT=<my-project-id>
    export CLUSTER_NAME=<name of the cluster>
    export LOCATION=<location of the cluster>
    export NAMESPACE=<new name for NAMESPACE>
    
  2. 클러스터의 사용자 인증 정보를 가져옵니다.

    gcloud container clusters get-credentials $CLUSTER_NAME
    --project $PROJECT --zone $LOCATION
    
  3. 애플리케이션을 배포할 네임스페이스를 만들고 이를 위 1단계에서 만든 NAMESPACE 이름에 할당합니다.

    kubectl create namespace ${NAMESPACE:?}
    
  4. Google Cloud Platform 마켓플레이스 앱을 사용하기 위해 필요한 애플리케이션 CRD를 설치합니다.

    kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"
    
  5. 보고 보안 비밀을 만듭니다. 이 값은 애플리케이션이 사용량을 다시 Google로 보고하기 위해 사용되며, 이후 결제에 사용됩니다. 솔루션 페이지의 '명령줄을 통해 배포' 탭 아래에서 1 및 2 안내만 따라서 라이선스 보고 보안 비밀을 생성하고 배포합니다.

다음 단계

Speech-to-Text On-Prem API 배포 방법 알아보기