이 빠른 시작에서는 Speech-to-Text On-Prem API 배포 전에 완료해야 하는 일련의 작업을 안내합니다. 설치 및 설정 중에 노출되는 구성 가능한 API 매개변수에 대한 상세 내용은 API 구성 페이지를 참조하세요.
- 원하는 요금제 상품을 구매합니다.
- 필요한 ID 및 액세스 관리(IAM) 역할을 서비스 계정에 할당합니다.
- 필수 도구를 설치합니다.
- Kubernetes 클러스터 만들기
- 명령줄에서 API를 사전 구성합니다(CLI의 경우 선택사항).
- gRPC 부하 분산용 Istio를 설치합니다(선택사항).
결제 설정
Google Cloud 솔루션 페이지에서 구매 계획을 클릭합니다. 이 작업은 결제 계정 관리자가 수행해야 합니다. Google Cloud Platform Console의 왼쪽 탐색 메뉴에서 결제 -> 계정 관리로 이동한 다음 오른쪽 역할/주 구성원을 확인하여 확인할 수 있습니다. 이 작업은 한 번만 수행하면 됩니다.
필요한 IAM 역할
대시보드에서 Google Cloud Platform 프로젝트 드롭다운 메뉴를 찾으세요.
표시된 팝업 창에서 기존 Google Cloud Platform 프로젝트를 선택하거나 새 프로젝트를 만들 수 있습니다. Speech-to-Text On-Prem과 연결하려는 프로젝트를 선택한 후 왼쪽 위 모서리에 있는 햄버거 아이콘으로 이동한 후 IAM 및 관리자 --> IAM을 선택하여 해당 프로젝트와 연결된 서비스 계정 목록을 확인합니다.
설치 중 사용할 Google Cloud Platform 프로젝트에 속하는 서비스 계정에 다음 역할을 할당합니다. 이러한 역할은 단일 서비스 계정 또는 여러 개의 개별 계정에 할당될 수 있지만 모든 계정이 동일한 프로젝트에 속해야 합니다. 서비스 계정 권한을 편집하려면 서비스 계정 이름 오른쪽에 있는 연필 아이콘을 클릭합니다. 또한 Google Cloud Platform 콘솔의 IAM 페이지 위에서 +추가 버튼을 클릭하여 새 서비스 계정을 만들 수도 있습니다.
필수 IAM 역할:
- 프로젝트 뷰어
- 결제 계정 관리자(요금제 구매에 필요하고 배포에는 필요 없음)
- Kubernetes Engine 관리자 (GKE에 배포하는 경우)
- Kubernetes Engine 클러스터 관리자 (Anthos에 배포하는 경우)
필수 도구
- Google Cloud CLI를 설치합니다.
- 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 기반 설치를 수행하려는 경우 이 섹션의 안내를 따르세요.
환경 구성
- Docker를 설치합니다.
mpdev
도구를 설치합니다.
Kubernetes 클러스터 구성
PROJECT 및 NAMESPACE 환경 변수를 설정합니다. 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>
클러스터의 사용자 인증 정보를 가져옵니다.
gcloud container clusters get-credentials $CLUSTER_NAME --project $PROJECT --zone $LOCATION
애플리케이션을 배포할 네임스페이스를 만들고 이를 위 1단계에서 만든 NAMESPACE 이름에 할당합니다.
kubectl create namespace ${NAMESPACE:?}
Google Cloud Platform Marketplace 앱을 사용하기 위해 필요한 애플리케이션 CRD를 설치합니다.
kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"
보고 보안 비밀을 만듭니다. 이 값은 애플리케이션이 사용량을 다시 Google로 보고하기 위해 사용되며, 이후 결제에 사용됩니다. 솔루션 페이지의 '명령줄을 통해 배포' 탭 아래에서 1 및 2 안내만 따라서 라이선스 보고 보안 비밀을 생성하고 배포합니다.
다음 단계
Speech-to-Text On-Prem API 배포 방법 알아보기