Inicio rápido: antes de empezar

En esta guía de inicio rápido se describen las acciones que debes completar antes de implementar la API Speech-to-Text On-Prem. Para obtener más información sobre los parámetros de la API configurables que se exponen durante la instalación y la configuración, consulta la página Configuraciones de la API.

  1. Compra un plan.
  2. Asigna los roles de Gestión de Identidades y Accesos (IAM) necesarios a una cuenta de servicio.
  3. Instala las herramientas necesarias.
  4. Crea un clúster de Kubernetes.
  5. Preconfigura la API desde la línea de comandos (opcional, solo para la instalación de la CLI).
  6. Instala Istio para el balanceo de carga de gRPC (opcional).

Configurar la facturación

En la página de soluciones de Google Cloud Platform, haz clic en COMPRAR PLAN. Debe hacerlo un administrador de la cuenta de facturación. Para comprobarlo, ve a la barra de navegación de la izquierda de la consola de Google Cloud Platform: Facturación -> Gestión de cuentas y, a continuación, consulta el rol o principal de la derecha. Solo es necesario hacerlo una vez.

Roles de gestión de identidades y accesos necesarios

  1. Busca el menú desplegable de proyectos de Google Cloud Platform en tu panel de control:

  2. En la ventana que aparece, puedes elegir un proyecto de Google Cloud Platform que ya tengas o crear uno. Una vez que hayas seleccionado el proyecto que quieras asociar a Speech-to-Text On-Prem, ve al icono de menú de la esquina superior izquierda y selecciona IAM & Admin (Gestión de identidades y accesos y administración) --> IAM (Gestión de identidades y accesos) para ver la lista de cuentas de servicio asociadas a ese proyecto.

  3. Asigna los siguientes roles a las cuentas de servicio que pertenezcan al proyecto de Google Cloud Platform que vayas a usar durante la instalación. Se pueden asignar a una sola cuenta de servicio o a varias cuentas independientes, pero todas las cuentas deben pertenecer al mismo proyecto. Para editar los permisos de una cuenta de servicio, haz clic en el icono del lápiz situado a la derecha del nombre de la cuenta de servicio. También puedes crear cuentas de servicio haciendo clic en el botón +AÑADIR situado en la parte superior de la página IAM de la consola de Google Cloud Platform.

    Roles de gestión de identidades y accesos necesarios:

    • Lector de proyectos
    • Administrador de cuenta de facturación (obligatorio para comprar un plan, pero no para la implementación)
    • Administrador de Kubernetes Engine (si se va a desplegar en GKE)
    • Administrador de clústeres de Kubernetes Engine (si se va a desplegar en Anthos)

Herramientas necesarias

  1. Instala Google Cloud CLI.
  2. Instala kubectl.

Crear un clúster de Kubernetes

Asegúrate de que estás ejecutando un clúster de GKE o de Anthos. Los clústeres de Kubernetes están disponibles en Google Cloud Platform. Si ya tienes clústeres, puedes elegir uno de la lista que aparece marcando la casilla situada en el extremo izquierdo del nombre del clúster:

Si no tienes ningún clúster, se te pedirá que crees uno. Asegúrate de que los parámetros del clúster coincidan con las recomendaciones de la lista de abajo (los parámetros predeterminados no son suficientes). Anota el nombre y la ubicación del clúster, así como el nombre del proyecto de Google Cloud Platform en el que se ha implementado el clúster.

Recomendaciones básicas para configurar un clúster:

  • Canal de lanzamiento: habitual.
  • El tamaño del grupo de nodos debe ser igual o superior a $REPLICAS.
  • Tipo de máquina de nodo: e2-standard-4 (4 vCPUs, 16 GB de memoria) o superior.
  • Habilitar autoescalado
  • Habilita Istio si necesitas el balanceo de carga de gRPC (opcional).
  • Habilita Kubernetes Engine Monitoring si quieres exportar métricas a Stackdriver (opcional).

Instalar Istio para el balanceo de carga de gRPC (opcional)

Para escalar Speech-to-Text On-Prem, usamos un balanceador de carga de capa 7 que sea compatible con gRPC. Aunque hay varias opciones disponibles, aquí proporcionamos una configuración de ejemplo de Istio. Ten en cuenta que la estrategia de balanceo de carga de capa 3 del servicio de Kubernetes predeterminada no es suficiente. Para instalar Istio, puedes seguir la guía oficial de Google Cloud o la página oficial de Istio. Si también quieres exportar las métricas, sigue los pasos 1 y 2 (de la sección Configurar el clúster de Kubernetes, más abajo) y, a continuación, ejecuta el siguiente comando:

    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

La marca PILOT_HTTP10=1 permite que nuestra aplicación realice solicitudes HTTP 1.0. Esto es fundamental para permitir que la aplicación se autentique con Stackdriver (mediante el servidor de metadatos de Google Cloud Platform) para publicar telemetría.

Preconfigurar la API desde la línea de comandos (opcional)

Si tienes previsto realizar una instalación basada en la CLI, sigue las instrucciones de esta sección.

Configurar el entorno

  1. Instala Docker.
  2. Instala la herramienta mpdev.

Configurar el clúster de Kubernetes

  1. Define las variables de entorno PROJECT y NAMESPACE. PROJECT es el ID del proyecto de Google Cloud Platform en el que se ha implementado tu clúster. NAMESPACE es el nombre del nuevo espacio de nombres que crearás en el paso 3, más abajo. Puede introducir cualquier valor para NAMESPACE, pero "speech" es un valor predeterminado seguro.

    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. Obtén las credenciales del clúster:

    gcloud container clusters get-credentials $CLUSTER_NAME
    --project $PROJECT --zone $LOCATION
    
  3. Crea el espacio de nombres en el que se desplegará la aplicación y asígnale el nombre NAMESPACE que has creado en el paso 1:

    kubectl create namespace ${NAMESPACE:?}
    
  4. Instala el CRD de la aplicación, que es necesario para usar las aplicaciones de Google Cloud Platform Marketplace:

    kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"
    
  5. Crea un secreto de notificación. La aplicación usa este valor para comunicar el uso a Google y se utiliza para la facturación futura. En la página de la solución, en la pestaña "Implementar mediante la línea de comandos", sigue solo las instrucciones 1 y 2 para generar e implementar el secreto de informes de licencias.

Siguientes pasos

Consulta cómo desplegar la API Speech-to-Text On-Prem.