快速入门:准备工作

本快速入门将引导您完成部署 Speech-to-Text On-Prem API 之前必须完成的一系列操作。如需详细了解在安装和设置过程中公开的可配置 API 参数,请参阅 API 配置页面。

  1. 购买方案。
  2. 将所需的 Identity Access Management (IAM) 角色分配给服务账号。
  3. 安装所需的工具
  4. 创建 Kubernetes 集群。
  5. 通过命令行预配置 API(可选 - 仅适用于 CLI 安装)。
  6. 为 gRPC 负载平衡安装 Istio(可选)。

设置结算功能

在 Google Cloud Platform 解决方案页面上,点击购买方案。此操作应由结算账号管理员完成。如需进行验证,您可以从 Google Cloud Platform 控制台左侧导航栏转到结算 -> 账号管理,然后勾选右侧“角色/主账号”。此操作只需执行一次。

所需 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 角色:

    • 项目查看者
    • Billing Account Administrator(购买方案时需要此角色,部署时不需要此角色)
    • Kubernetes Engine Admin(部署到 GKE 时)
    • Kubernetes Engine Cluster Admin(部署到 Anthos 时)

所需工具

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

创建一个 Kubernetes 集群

确保您运行的是 GKEAnthos 集群。Kubernetes 集群在 Google Cloud Platform 上可用。如果您已有集群,则可以选中集群名称最左侧的复选框,以便从出现的列表中选取一个集群:

如果您没有任何现有集群,则系统会提示您创建一个。确保集群的参数与下表中推荐的参数匹配(默认参数不足以满足集群的需要)。记录集群的名称位置,以及集群部署到的 Google Cloud Platform 项目的名称。

针对集群设置的基本建议:

  • 发布版本:常规版。
  • 节点池大小应等于或大于 $REPLICAS。
  • 节点机器类型:e2-standard-4(4 个 vCPU、16 GB 内存)或更高版本。
  • 启用自动扩缩功能
  • 如果您需要 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. 安装应用 CRD,必须有应用 CRD 才能使用 Google Cloud Platform Marketplace 应用:

    kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"
    
  5. 创建报告 Secret。应用会使用此值将使用情况报告回给 Google,并在日后的结算中使用。在解决方案页面上的“通过命令行部署”标签页下,只需按照说明 1 和 2 即可生成和部署许可报告 Secret。

后续步骤

了解如何部署 Speech-to-Text On-Prem API。