快速入門:事前準備

本快速入門會逐步引導您完成一系列動作,然後才能部署 Speech-to-Text On-Prem API。如要進一步瞭解在安裝和設定期間公開的設定 API 參數,請參閱「API 設定」頁面。

  1. 購買方案。
  2. 將必要的 Identity and Access Management (IAM) 角色指派給服務帳戶。
  3. 安裝必要工具。
  4. 建立 Kubernetes 叢集。
  5. 透過指令列預先設定 API (選用,僅適用於 CLI 安裝)。
  6. 安裝 Istio 以便進行 gRPC 負載平衡 (選用)。

設定帳單

在 Google Cloud Platform 解決方案頁面中,按一下「購買方案」。帳單帳戶管理員應負責執行這項操作。您可以透過 Google Cloud Platform 主控台左側的導覽列,前往「Billing」->「Account Management」,然後查看右側的「Role/Principal」(角色/主要使用者)。這項操作只需要執行一次。

必要的 IAM 角色

  1. 資訊主頁中找出 Google Cloud Platform 專案下拉式選單:

  2. 在彈出式視窗中,您可以選擇現有的 Google Cloud Platform 專案,也可以建立新專案。選取要與 Speech-to-Text On-Prem 相關聯的專案後,請前往左上角的漢堡圖示,然後依序選取「IAM 與管理」-->「IAM」,查看與該專案相關聯的服務帳戶清單。

  3. 將下列角色指派給服務帳戶,這些服務帳戶屬於您在安裝期間會使用的 Google Cloud Platform 專案。這些帳戶可以指派給單一服務帳戶或多個獨立帳戶,但所有帳戶都必須屬於同一個專案。如要編輯服務帳戶權限,請按一下服務帳戶名稱右側的鉛筆圖示。您也可以在 Google Cloud Platform 主控台的 IAM 頁面頂端,按一下「+ADD」按鈕,建立新的服務帳戶。

    必要的 IAM 角色:

    • 專案檢視者
    • 帳單帳戶管理員 (購買方案時必須具備此角色,部署時則不必具備)
    • Kubernetes Engine 管理員 (如果要部署至 GKE)
    • Kubernetes Engine 叢集管理員 (如果部署至 Anthos)

必要工具

  1. 安裝 Google Cloud CLI
  2. 安裝 kubectl

建立 Kubernetes 叢集

請確認您執行的是 GKEAnthos 叢集。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 為基礎的安裝作業,請按照本節中的操作說明進行。

設定環境

  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. 安裝 Application CRD,這是使用 Google Cloud Platform 市集應用程式所需的必要條件:

    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。