En esta guía de inicio rápido, se analiza la serie de acciones que deben completarse antes de que puedas implementar la API de Speech-to-Text On-Prem. Para obtener más información sobre los parámetros de API configurables que se exponen durante la instalación y configuración, consulta la página de configuraciones de API.
- Compra un plan.
- Asigna las funciones de administración de identidades y acceso (IAM) necesarias a una cuenta de servicio.
- Instala las herramientas necesarias.
- Crearás un clúster de Kubernetes.
- Preconfigura la API desde la línea de comandos (opcional, solo para instalación de 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 Platform, haz clic en COMPRAR PLAN. Esto debes hacerlo mediante un administrador de cuentas de facturación. Para verificarlo, navega desde la barra de navegación izquierda de Google Cloud Platform Console: Facturación -> Administración de cuenta, luego, verifica el rol/principal de la derecha. Esta acción solo es necesaria una vez.
Funciones de IAM obligatorias
Ubica el menú desplegable del proyecto de Google Cloud Platform en el panel:
En la ventana emergente, puedes elegir un proyecto de Google Cloud Platform existente o crear uno nuevo. Una vez que seleccionaste el proyecto que deseas asociar con Speech-to-Text On-Prem, navega al ícono de hamburguesa en la esquina superior izquierda y selecciona IAM y administración --> IAM para ver la lista de las cuentas de servicio asociadas a ese proyecto.
Asigna los siguientes roles a las cuentas de servicio que pertenecen al proyecto de Google Cloud Platform 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. A fin de 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 si haces clic en el botón +AGREGAR en la parte superior de la página de IAM en la consola de Google Cloud Platform.
Funciones de IAM obligatorias:
- Lector del proyecto
- Administrador de cuentas de facturación (obligatorio para comprar un plan, no es necesario 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 requeridas
- Instala la CLI de Google Cloud.
- 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 Platform. Si tienes clústeres preexistentes, puedes elegir uno de la lista que aparecerá si marcas la casilla en el extremo izquierdo del nombre del clúster:
Si no tienes ningún clúster preexistente, se te pedirá que crees uno. Asegúrate de que los parámetros del clúster coincidan con las recomendaciones 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 Platform en el que se implementa el clúster.
Recomendaciones básicas para configurar un clúster:
- Canal de versiones: Normal
- El tamaño del grupo de nodos debe ser igual o mayor que las $REPLICAS
- Tipo de máquina del nodo: e2-standard-4 (4 CPU virtuales, 16 GB de memoria) o superior
- Habilitar ajuste de escala automático
- Habilita Istio si necesitas el balanceo de cargas gRpc (opcional).
- Habilita Kubernetes Engine Monitoring si deseas exportar métricas a Stackdriver (opcional).
Instala Istio para el balanceo de cargas de gRPC (opcional)
Para escalar Speech-to-Text On-Prem, confiamos en 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 instalar la Guía oficial de Google Cloud o la página oficial de Istio para instalar Istio. Si también deseas exportar las métricas, sigue los pasos 1 y 2 (en la sección Configurar tu clúster de Kubernetes, a continuación) 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 crucial para permitir que la aplicación se autentique con Stackdriver (mediante el servidor de metadatos de Google Cloud Platform) a fin de publicar 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 en esta sección.
Configura tu entorno
Configure su clúster de Kubernetes
Configura las variables de entorno PROJECT y NAMESPACE. PROJECT es el ID del proyecto de Google Cloud Platform en el que se implementa 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 $LOCATION
Crea el espacio de nombres en el que se implementará la aplicación y asígnale el nombre NAMESPACE que creaste en el paso 1 anterior:
kubectl create namespace ${NAMESPACE:?}
Instala la CRD de aplicación, que se requiere para usar las aplicación de Marketplace de Google Cloud Platform:
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 a fin de informar el uso a Google y se usa para la facturación futura. En la página de soluciones, en la pestaña “Implementar mediante la línea de comandos”, sigue las instrucciones 1 y 2 para generar e implementar el secreto de informe de licencia.
¿Qué sigue?
Aprende a implementar la API de Speech-to-Text On-Prem.