本快速入門會逐步引導您完成一系列動作,然後才能部署 Speech-to-Text On-Prem API。如要進一步瞭解在安裝和設定期間公開的設定 API 參數,請參閱「API 設定」頁面。
- 購買方案。
- 將必要的 Identity and Access Management (IAM) 角色指派給服務帳戶。
- 安裝必要工具。
- 建立 Kubernetes 叢集。
- 透過指令列預先設定 API (選用,僅適用於 CLI 安裝)。
- 安裝 Istio 以便進行 gRPC 負載平衡 (選用)。
設定帳單
在 Google Cloud Platform 解決方案頁面中,按一下「購買方案」。帳單帳戶管理員應負責執行這項操作。您可以透過 Google Cloud Platform 主控台左側的導覽列,前往「Billing」->「Account Management」,然後查看右側的「Role/Principal」(角色/主要使用者)。這項操作只需要執行一次。
必要的 IAM 角色
在資訊主頁中找出 Google Cloud Platform 專案下拉式選單:
在彈出式視窗中,您可以選擇現有的 Google Cloud Platform 專案,也可以建立新專案。選取要與 Speech-to-Text On-Prem 相關聯的專案後,請前往左上角的漢堡圖示,然後依序選取「IAM 與管理」-->「IAM」,查看與該專案相關聯的服務帳戶清單。
將下列角色指派給服務帳戶,這些服務帳戶屬於您在安裝期間會使用的 Google Cloud Platform 專案。這些帳戶可以指派給單一服務帳戶或多個獨立帳戶,但所有帳戶都必須屬於同一個專案。如要編輯服務帳戶權限,請按一下服務帳戶名稱右側的鉛筆圖示。您也可以在 Google Cloud Platform 主控台的 IAM 頁面頂端,按一下「+ADD」按鈕,建立新的服務帳戶。
必要的 IAM 角色:
- 專案檢視者
- 帳單帳戶管理員 (購買方案時必須具備此角色,部署時則不必具備)
- Kubernetes Engine 管理員 (如果要部署至 GKE)
- Kubernetes Engine 叢集管理員 (如果部署至 Anthos)
必要工具
- 安裝 Google Cloud CLI。
- 安裝 kubectl。
建立 Kubernetes 叢集
請確認您執行的是 GKE 或 Anthos 叢集。Google Cloud Platform 提供 Kubernetes 叢集。如果您有現有的叢集,請勾選叢集名稱最左邊的方塊,即可從清單中選擇一個叢集:
如果您沒有任何現有的叢集,系統會提示您建立一個。請確認叢集的參數符合下方清單中的建議 (預設參數不足)。記下叢集的名稱和位置,以及叢集部署至的 Google Cloud Platform 專案名稱。
叢集設定的基本建議:
- 發布版本:一般版。
- 節點資源池大小應等於或大於 $REPLICAS。
- 節點機器類型:e2-standard-4 (4 個 vCPU、16 GB 記憶體) 以上。
- 啟用自動調度資源
- 如果需要 gRPC 負載平衡,請啟用 Istio (選用)。
- 如要匯出指標至 Stackdriver,請啟用 Kubernetes Engine Monitoring (選用)。
安裝 Istio 以便進行 gRPC 負載平衡 (選用)
為了擴充 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 要求。這對於讓應用程式透過 Google Cloud Platform 中繼資料伺服器與 Stackdriver 驗證,以便發布遙測資料至關鍵,至關重要。
透過指令列預先設定 API (選用)
如果您打算執行以 CLI 為基礎的安裝作業,請按照本節中的操作說明進行。
設定環境
設定 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:?}
安裝 Application CRD,這是使用 Google Cloud Platform 市集應用程式所需的必要條件:
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。