このクイックスタートでは、Speech-to-Text On-Prem API をデプロイする前に完了しなければならない一連の操作について説明します。インストールと設定の際に公開される構成可能な API パラメータの詳細については、API 構成のページをご覧ください。
- プランを購入する。
- サービス アカウントに必要な Identity Access Management(IAM)ロールを割り当てる。
- 必要なツールをインストールする。
- Kubernetes クラスタを作成する。
- コマンドラインから API を事前に構成する(省略可、CLI のインストールのみ)。
- Istio for gRPC ロード バランシングをインストールする(省略可)。
お支払い情報を設定する
Google Cloud Platform のソリューション ページで、[プランを購入] をクリックします。この作業は、請求先アカウント管理者が行う必要があります。確認するには、Google Cloud Platform コンソールの左側のナビゲーション バーで [お支払い] -> [アカウント管理] の順にクリックし、右側の [ロール / プリンシパル] をチェックします。作業が必要なのは 1 回だけです。
必要な 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 Cluster 管理者(Anthos にデプロイする場合)
必要なツール
- Google Cloud CLI をインストールします。
- kubectl をインストールします。
Kubernetes クラスタの作成
GKE クラスタまたは Anthos クラスタのいずれかが実行されていることを確認します。Kubernetes クラスタは Google Cloud Platform で利用可能です。既存のクラスタがある場合は、クラスタ名の左側にあるチェックボックスをオンにして、表示されるリストからクラスタを選択できます。
既存のクラスタがない場合は、クラスタを作成するよう求められます。クラスタのパラメータが、以下のリストにある推奨事項と一致していることを確認します(デフォルトのパラメータでは不十分です)。クラスタの名前とロケーション、クラスタがデプロイされている Google Cloud Platform プロジェクトの名前を記録します。
クラスタ設定の基本的な推奨事項:
- リリース チャンネル: Regular。
- ノードプールのサイズは $REPLICAS 以上にする必要があります。
- ノードのマシンタイプ: e2-standard-4(4 vCPU、16 GB メモリ)以上。
- 自動スケーリングの有効化
- gRpc ロード バランシングが必要な場合は Istio を有効にします(省略可)。
- Stackdriver に指標をエクスポートするには、Kubernetes Engine Monitoring を有効にします(省略可)。
Istio for gRPC ロード バランシングのインストール(省略可)
Speech-to-Text On-Prem をスケーリングするために、gRPC と互換性のある L7 ロードバランサを利用します。いくつかのオプションがありますが、ここでは Istio 構成の例を紹介します。デフォルトの Kubernetes Service の L3 ロード バランシング戦略では不十分です。Istio をインストールするには、Google Cloud 公式ガイドまたは Istio 公式ページをご覧ください。指標もエクスポートする場合は、以下の Kubernetes クラスタの構成セクションの手順 1 と 2 に従って、以下のコマンドを実行します。
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 ベースのインストールを実行する場合は、このセクションの手順に沿って操作ください。
環境を構成する
Kubernetes クラスタを構成する
PROJECT 環境変数と NAMESPACE 環境変数を設定します。PROJECT は、クラスタがデプロイされている Google Cloud Platform プロジェクトのプロジェクト ID です。NAMESPACE は、次の手順 3 で作成する新しい Namespace の名前です。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
アプリケーションがデプロイされる Namespace を作成し、上記の手順 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 をデプロイする方法を学習する。