Questa guida introduttiva illustra la serie di azioni da completare prima di poter eseguire il deployment dell'API Speech-to-Text On-Prem. Per ulteriori informazioni sui parametri API configurabili esposti durante l'installazione e la configurazione, consulta la pagina Configurazioni API.
- Acquista un piano.
- Assegna i ruoli di Identity Access Management (IAM) richiesti a un account di servizio.
- Installa gli strumenti richiesti.
- Crea un cluster Kubernetes.
- Preconfigura l'API dalla riga di comando (facoltativo, solo per l'installazione della CLI).
- (Facoltativo) Installa Istio per il bilanciamento del carico gRPC.
Configura la fatturazione
Nella pagina delle soluzioni della piattaforma Google Cloud, fai clic su PIANO DI ACQUISTO. L'operazione deve essere eseguita da un amministratore account di fatturazione. Per verificarlo, vai alla barra di navigazione a sinistra della console di Google Cloud Platform: Fatturazione -> Gestione account, quindi controlla il ruolo/principale a destra. Questa operazione deve essere eseguita una sola volta.
Ruoli IAM obbligatori
Individua il menu a discesa del progetto Google Cloud Platform nella dashboard:
Nella finestra visualizzata, puoi scegliere un progetto Google Cloud Platform esistente o crearne uno nuovo. Dopo aver selezionato il progetto che vuoi associare a Speech-to-Text on-premise, vai all'icona menu a tre linee nell'angolo in alto a sinistra e seleziona IAM e amministrazione -> IAM per visualizzare l'elenco degli account di servizio associati al progetto.
Assegna i seguenti ruoli agli account di servizio appartenenti al progetto della Google Cloud Platform che utilizzerai durante l'installazione. Possono essere assegnati a un singolo account di servizio o a più account distinti, ma tutti gli account devono appartenere allo stesso progetto. Per modificare le autorizzazioni dell'account di servizio, fai clic sull'icona a forma di matita a destra del nome dell'account di servizio. Puoi anche creare nuovi account di servizio facendo clic sul pulsante + AGGIUNGI nella parte superiore della pagina IAM della console della Google Cloud Platform.
Ruoli IAM richiesti:
- Visualizzatore progetto
- Amministratore account di fatturazione (obbligatorio per l'acquisto di un piano, non obbligatorio per il deployment)
- Amministratore di Kubernetes Engine (se esegui il deployment in GKE)
- Amministratore del cluster Kubernetes Engine (se esegui il deployment in Anthos)
Strumenti richiesti
- Installa Google Cloud CLI.
- Installa kubectl.
Crea un cluster Kubernetes
Assicurati di eseguire un cluster GKE o Anthos. I cluster Kubernetes sono disponibili sulla piattaforma Google Cloud. Se hai cluster preesistenti, puoi sceglierne uno dall'elenco visualizzato selezionando la casella all'estrema sinistra del nome del cluster:
Se non hai cluster preesistenti, ti verrà chiesto di crearne uno. Assicurati che i parametri del cluster corrispondano ai consigli nell'elenco riportato di seguito (i parametri predefiniti non sono sufficienti). Registra il nome e la posizione del cluster, nonché il nome del progetto Google Cloud Platform in cui è dipiegato il cluster.
Suggerimenti di base per la configurazione del cluster:
- Canale di rilascio: normale.
- La dimensione del pool di nodi deve essere uguale o superiore a $REPLICAS.
- Tipo di macchina del nodo: e2-standard-4 (4 vCPU, 16 GB di memoria) o versioni successive.
- Abilita scalabilità automatica
- (Facoltativo) Abilita Istio se hai bisogno del bilanciamento del carico gRpc.
- (Facoltativo) Abilita Kubernetes Engine Monitoring se vuoi esportare le metriche in Stackdriver.
(Facoltativo) Installa Istio per il bilanciamento del carico gRPC
Per scalare Speech-to-Text On-Prem, ci basiamo su un bilanciatore del carico L7 compatibile con gRPC. Sebbene siano disponibili diverse opzioni, di seguito è riportata una configurazione di esempio di Istio. Tieni presente che la strategia di bilanciamento del carico L3 del servizio Kubernetes predefinita non è sufficiente. Per installare Istio, puoi seguire la guida ufficiale di Google Cloud o la pagina ufficiale di Istio. Se vuoi anche esportare le metriche, segui i passaggi 1 e 2 (nella sezione Configura il tuo cluster Kubernetes di seguito), quindi esegui il comando seguente:
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
Il flag PILOT_HTTP10=1
consente alla nostra applicazione di effettuare richieste HTTP 1.0. Questo è fondamentale per consentire all'applicazione di autenticarsi con
Stackdriver (utilizzando il
server di metadati della piattaforma Google Cloud)
per pubblicare la telemetria.
(Facoltativo) Preconfigurare l'API dalla riga di comando
Se prevedi di eseguire un'installazione basata su CLI, segui le istruzioni riportate in questa sezione.
Configura il tuo ambiente
Configura il cluster Kubernetes
Imposta le variabili di ambiente PROJECT e NAMESPACE. PROJECT è l'ID del progetto Google Cloud Platform in cui è dipiegato il cluster. NAMESPACE è il nome del nuovo spazio dei nomi che creerai nel passaggio 3 di seguito. Puoi inserire qualsiasi valore per NAMESPACE, ma "speech" è un valore predefinito sicuro.
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 le credenziali del cluster:
gcloud container clusters get-credentials $CLUSTER_NAME --project $PROJECT --zone $LOCATION
Crea lo spazio dei nomi in cui verrà dispiegato l'applicazione e assegnalo al nome NAMESPACE che hai creato nel passaggio 1 qui sopra:
kubectl create namespace ${NAMESPACE:?}
Installa il documento CRD dell'applicazione, obbligatorio per utilizzare le app del marketplace della Google Cloud Platform:
kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"
Crea un secret di reporting. Questo valore viene utilizzato dall'applicazione per comunicare l'utilizzo a Google e viene utilizzato per la fatturazione futura. Nella pagina della soluzione, nella scheda "Esegui il deployment tramite riga di comando", segui solo le istruzioni 1 e 2 per generare e implementare il segreto per i report sulle licenze.
Passaggi successivi
Scopri come deploy dell'API Speech-to-Text On-Prem.