En esta guía de inicio rápido, se explica la serie de acciones que debes completar antes de poder implementar la API de Speech-to-Text On-Prem. Para obtener más información sobre los parámetros configurables de la API que se exponen durante la instalación y configuración, consulta la página de parámetros de configuración de la API.
- Compra un plan.
- Asigna los roles de Identity Access Management (IAM) necesarios a una cuenta de servicio.
- Instala las herramientas necesarias.
- Crea un clúster de Kubernetes.
- Preconfigura la API desde la línea de comandos (opcional, solo para instalar la CLI).
- Instala Istio para el balanceo de cargas de gRPC (opcional).
Configura la facturación
En la página de soluciones de Google Cloud, haz clic en COMPRAR PLAN. Esto debes hacerlo con un Administrador de cuentas de facturación. Para verificarlo, accede desde la barra de navegación izquierda de la consola de Google Cloud: Facturación -> Administración de cuentas. Luego, verifica el rol y el principal de la derecha. Esto solo debes hacerlo una vez.

Roles de IAM obligatorios
Ubica el menú desplegable de proyectos de Google Cloud en el panel:

En la ventana emergente, puedes elegir un proyecto de Google Cloud existente o crear uno nuevo. Una vez que elijas el proyecto que quieres asociar a Speech-to-Text On-Prem, busca el ícono de tres líneas en la esquina superior izquierda y selecciona IAM y administración --> IAM para ver la lista de cuentas de servicio asociadas a ese proyecto.
Asigna los roles siguientes a las cuentas de servicio que pertenecen al proyecto de Google Cloud que usarás 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 la cuenta de servicio, haz clic en el ícono de lápiz a la derecha del nombre de la cuenta de servicio. También puedes crear cuentas de servicio nuevas. Para ello, haz clic en el botón +AGREGAR en la parte superior de la página de IAM, dentro de la consola de Google Cloud.
Roles de IAM obligatorios:
- Visualizador del proyecto
- Administrador de cuentas de facturación (obligatorio para comprar un plan, pero no para la implementación)
- Administrador de Kubernetes Engine (si se implementa en GKE)
- Administrador de clústeres de Kubernetes Engine (si se implementa en Anthos)
Herramientas obligatorias
- Instala la Google Cloud CLI.
- Instala kubectl.
Crea un clúster de Kubernetes
Asegúrate de ejecutar un clúster de GKE o Anthos. Los clústeres de Kubernetes están disponibles en Google Cloud. Si ya tienes clústeres, puedes elegir uno de la lista que se abre marcando la casilla en el extremo izquierdo del nombre del clúster:

Si no tienes ninguno, se te pedirá que crees uno. Asegúrate de que los parámetros del clúster coincidan con las recomendaciones incluidas en la lista siguiente (los parámetros predeterminados no son suficientes). Registra el nombre y la ubicación del clúster, así como el nombre del proyecto de Google Cloud en el que se implementará el clúster.
Recomendaciones básicas para configurar un clúster:
- El canal de versiones debe ser normal.
- El tamaño del grupo de nodos debe ser igual o mayor que las $REPLICAS.
- El tipo de máquina del nodo debe ser e2-standard-4 (4 CPU virtuales, 16 GB de memoria) o superior.
- Habilita el escalado automático.
- Habilita Istio si necesitas el balanceo de cargas de gRpc (opcional).
- Habilita Kubernetes Engine Monitoring si quieres exportar métricas a Stackdriver (opcional).
Instala Istio para el balanceo de cargas de gRPC (opcional)
Para escalar Speech-to-Text On-Prem, confiamos usamos un balanceador de cargas L7 que es compatible con gRPC. Si bien hay varias opciones disponibles, proporcionamos una configuración de muestra de Istio aquí. Ten en cuenta que la estrategia de balanceo de cargas L3 predeterminada del servicio de Kubernetes no es suficiente. Puedes seguir la Guía oficial de Google Cloud o la página oficial de Istio para instalar Istio. Si también quieres exportar las métricas, sigue los pasos 1 y 2 de la sección Configura tu clúster de Kubernetes que está más abajo y, luego, ejecuta el comando siguiente:
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 esencial para permitir que la aplicación se autentique con
Stackdriver (a través del
servidor de metadatos de Google Cloud) con el
objetivo de publicar datos de telemetría.
Preconfigura la API desde la línea de comandos (opcional)
Si planeas realizar una instalación basada en la CLI, sigue las instrucciones presentes en esta sección.
Configura tu entorno
Configura tu clúster de Kubernetes
Configura las variables de entorno PROJECT y NAMESPACE. PROJECT es el ID del proyecto de Google Cloud en el que se implementará tu clúster. NAMESPACE es el nombre del espacio de nombres nuevo que crearás en el paso 3, a continuación. Puedes ingresar 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>Recupera las credenciales del clúster:
gcloud container clusters get-credentials $CLUSTER_NAME --project $PROJECT --zone $LOCATIONCrea el espacio de nombres en el que se implementará la aplicación y asígnale el nombre de NAMESPACE que creaste en el paso 1 anterior:
kubectl create namespace ${NAMESPACE:?}Instala la CRD de la aplicación, que es obligatoria para usar las aplicación de Marketplace de Google Cloud:
kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"Crea un secreto de informes. La aplicación usa este valor para informar el uso a Google y para la facturación futura. En la página de soluciones, en la pestaña "Implementar con la línea de comandos", sigue las instrucciones 1 y 2 para generar y, luego, implementar el secreto de informe de la licencia.

¿Qué sigue?
Obtén información para implementar la API de Speech-to-Text On-Prem.