Esplora GKE Enterprise


Esplora la versione Google Kubernetes Engine (GKE) Enterprise eseguendo il deployment di un'applicazione di esempio con Terraform. Esegue il deployment di un ambiente pratico e reale con un cluster GKE, Anthos Service Mesh e un'applicazione con più microservizi. Questo tutorial illustra queste funzionalità e illustra il deployment di GKE Enterprise su Google Cloud con una banca fittizia. Puoi quindi esplorare le funzionalità di GKE Enterprise che ti interessano seguendo la storia di GKE Enterprise della banca più avanti nel nostro tutorial di follow-up.

Se vuoi saperne di più sulle funzionalità di GKE Enterprise alla base di GKE Enterprise, consulta la nostra panoramica tecnica. Tuttavia, non è necessario avere familiarità con GKE Enterprise o Terraform per seguire questo tutorial. Dovresti avere familiarità con i concetti di base di Kubernetes come i cluster. In caso contrario, consulta Nozioni di base su Kubernetes, la documentazione di Google Kubernetes Engine (GKE) e Preparazione di un'app per Anthos Service Mesh.

Quando è tutto pronto per un'installazione in produzione reale, consulta la nostra sezione Configurazione.

Il tuo percorso

Sei il responsabile della piattaforma presso la Bank of Anthos. Bank of Anthos è nata come piccola azienda per l'elaborazione dei pagamenti su due server quasi dieci anni fa. Da allora è cresciuta fino a diventare una banca commerciale di successo con migliaia di dipendenti e un'organizzazione di ingegneria in crescita. Bank of Anthos ora vuole espandere ulteriormente la propria attività.

Durante questo periodo, tu e il tuo team avete dedicato più tempo e denaro alla gestione dell'infrastruttura che alla creazione di nuovo valore aziendale. Disponi di decenni di esperienza cumulativa investita nello stack esistente, ma sai che non si tratta della tecnologia giusta per soddisfare la portata dell'implementazione globale di cui la banca ha bisogno durante l'espansione.

Hai adottato GKE Enterprise per modernizzare l'applicazione ed eseguire correttamente la migrazione a Google Cloud e raggiungere i tuoi obiettivi di espansione.

Obiettivi

In questo tutorial ti vengono presentate alcune delle funzionalità principali di GKE Enterprise tramite le attività seguenti:

  • Esegui il deployment del tuo ambiente GKE Enterprise con un cluster, un'applicazione e funzionalità aziendali: Anthos Service Mesh, Config Sync e Policy Controller.

  • Utilizza la console Google Cloud per esplorare le risorse GKE utilizzate dalla tua applicazione.

  • Utilizza Anthos Service Mesh per osservare i servizi delle applicazioni.

Di cosa è stato eseguito il deployment?

Il deployment di Bank of Anthos su Google Cloud esegue il provisioning del progetto con quanto segue:

  • Un cluster GKE in esecuzione su Google Cloud: anthos-sample-cluster1.

  • Anthos Service Mesh installato sul cluster. Puoi utilizzare Anthos Service Mesh per gestire il mesh di servizi su anthos-sample-cluster1.

  • Config Sync e Policy Controller per gestire la configurazione e i criteri di sicurezza su anthos-sample-cluster1.

  • Applicazione Bank of Anthos in esecuzione sul cluster. È un'applicazione bancaria basata sul web che utilizza una serie di microservizi scritti in vari linguaggi di programmazione, tra cui Java, Python e JavaScript.

Costi

Il deployment dell'applicazione Bank of Anthos comporta il pagamento a consumo per GKE Enterprise su Google Cloud come elencato nella nostra pagina dei prezzi, a meno che tu non abbia già acquistato un abbonamento.

Sei inoltre responsabile degli altri costi di Google Cloud sostenuti durante l'esecuzione dell'applicazione Bank of Anthos, ad esempio gli addebiti per le VM e i bilanciatori del carico di Compute Engine.

Ti consigliamo di pulire dopo aver completato il tutorial o aver esplorato il deployment per evitare ulteriori addebiti.

Prima di iniziare

Assicurati di completare i seguenti prerequisiti.

Seleziona o crea un progetto

Puoi utilizzare un progetto esistente o crearne uno nuovo per questo tutorial.

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

Attiva Cloud Shell

Cloud Shell è un ambiente shell interattivo per Google Cloud che consente di gestire progetti e risorse dal browser web.

Nella console Google Cloud, attiva Cloud Shell.

Attiva Cloud Shell

Concedi ruoli IAM

Se utilizzi un progetto esistente, assicurati che il tuo account Google Cloud disponga dei ruoli IAM richiesti per questo tutorial.

Concedi i ruoli al tuo Account Google. Esegui questo comando una volta per ciascuno dei seguenti ruoli IAM: roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser, roles/iam.securityAdmin, roles/serviceusage.serviceUsageAdmin, roles/container.admin, roles/logging.logWriter, roles/gkehub.admin, roles/viewer, roles/monitoring.viewer

$ gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
  • Sostituisci PROJECT_ID con l'ID progetto.
  • Sostituisci EMAIL_ADDRESS con il tuo indirizzo email.
  • Sostituisci ROLE con ogni singolo ruolo.

Esegui il deployment di Bank of Anthos con Terraform

Una volta soddisfatti tutti i prerequisiti, esegui questi comandi su Cloud Shell per eseguire il deployment di Bank of Anthos:

  1. Assicurati che il progetto predefinito sia impostato sull'ID progetto in cui vuoi eseguire il deployment dell'applicazione. Se non è già impostato, esegui il comando seguente in Cloud Shell:

    gcloud config set project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

  2. Clona il repository GitHub di Bank of Anthos in Cloud Shell:

    git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git
    
  3. Imposta la variabile di ambiente TF_VAR_project sul tuo ID progetto:

    export TF_VAR_project=PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

  4. Passa alla directory che ospita gli script di installazione:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  5. Inizializza Terraform. Per utilizzare la versione più recente del provider Google, includi il flag -upgrade:

    terraform init -upgrade
    
  6. (Facoltativo) Esamina le risorse che verranno create:

    terraform plan
    
  7. Applica la configurazione Terraform per creare le risorse necessarie ed eseguire il deployment di Bank of Anthos:

    terraform apply
    

Se il comando precedente viene completato correttamente, nel tuo progetto viene eseguito il deployment dell'applicazione Bank of Anthos e delle risorse su cui viene eseguita. Se si verificano errori di deployment, consulta la sezione Risoluzione dei problemi.

Utilizzo della panoramica di GKE Enterprise

Le funzionalità di GKE Enterprise si basano sull'idea del parco risorse: un raggruppamento logico di cluster Kubernetes che possono essere gestiti insieme. La Panoramica di GKE Enterprise nella console Google Cloud offre una visione generale dell'intero parco dispositivi.

Vai alla panoramica di GKE Enterprise

La Panoramica mostra le seguenti informazioni:

  • Quanti cluster ci sono nel tuo parco risorse e se sono integri. In questo esempio, a condizione che non siano presenti altri cluster membri del parco risorse, la sezione Cluster in questo parco risorse indica che hai un cluster GKE.
  • Utilizzo delle risorse del tuo parco risorse, incluso l'utilizzo di CPU, memoria e disco, aggregato per parco risorse e per cluster.
  • Eventuali problemi di sicurezza identificati per il parco risorse, la copertura di Policy Controller a livello di parco risorse e lo stato di sincronizzazione dei pacchetti Config Sync.

Esplora le risorse GKE

La pagina Cluster GKE mostra tutti i cluster presenti nel tuo progetto. Il parco risorse dei cluster registrati in un parco risorse è elencato nella colonna Parco risorse.

In questa sezione, approfondirai le risorse GKE di Bank of Anthos.

Cluster

  1. Nella console di Google Kubernetes Engine, vai alla pagina Cluster.

    Vai alla pagina Cluster

  2. Fai clic sul cluster anthos-sample-cluster1 di cui è stato eseguito il deployment. Nella pagina dei dettagli del cluster che si apre, puoi visualizzare i dettagli di base del cluster oltre alle configurazioni di networking e sicurezza del cluster. Puoi anche vedere quali funzionalità di GKE sono abilitate in questo cluster nella sezione Funzionalità.

  3. Fai clic sulla scheda Nodi per visualizzare tutte le macchine worker nel cluster. Puoi visualizzare in dettaglio i pod del carico di lavoro in esecuzione su ciascun nodo, nonché un riepilogo delle risorse del nodo (CPU, memoria, spazio di archiviazione).

Per scoprire di più sui cluster e sui nodi GKE, consulta la documentazione di GKE.

Carichi di lavoro

La console di GKE include una vista Carichi di lavoro che mostra una visualizzazione aggregata dei carichi di lavoro in esecuzione su tutti i tuoi cluster GKE.

Nella console di Google Kubernetes Engine, vai alla pagina Carichi di lavoro.

Vai alla pagina Carichi di lavoro

La scheda Panoramica mostra un elenco di carichi di lavoro e spazi dei nomi del cluster GKE. Puoi filtrare per spazi dei nomi per vedere quali carichi di lavoro sono in esecuzione in ogni spazio dei nomi.

Servizi e ingress

La vista Servizi e Ingress mostra le risorse Service e Ingress del progetto. Un servizio espone un insieme di pod come servizio di rete con un endpoint, mentre un elemento Ingress gestisce l'accesso esterno ai servizi in un cluster. Tuttavia, anziché un normale Ingress di Kubernetes, Bank of Anthos utilizza un servizio gateway in entrata Istio per il traffico verso la banca, che gli utenti di Anthos Service Mesh possono utilizzare per aggiungere il routing del traffico più complesso al traffico in entrata dei propri mesh. Potrai vedere come funziona l'osservabilità del mesh di servizi più avanti in questo tutorial.

  1. Nella console di Google Kubernetes Engine, vai alla pagina Servizi e Ingress.

    Vai alla pagina Servizi e Ingress

  2. Per trovare il gateway in entrata di Bank of Anthos, scorri verso il basso l'elenco dei servizi disponibili e trova il servizio con il nome frontend. Un gateway in entrata gestisce il traffico in entrata per il mesh di servizi della tua applicazione. In questo caso, quindi, possiamo utilizzarne i dettagli per visitare il frontend web della banca.

  3. Fai clic sull'endpoint dell'indirizzo IP per il servizio frontend. Viene aperta l'interfaccia web di Bank of GKE Enterprise.

Osservazione dei servizi

In GKE Enterprise, la gestione e l'osservabilità dei servizi sono fornite da Anthos Service Mesh, una suite di strumenti basata su Istio che consente di monitorare e gestire un mesh di servizi affidabile. Per saperne di più su Anthos Service Mesh e su come ti aiuta a gestire i microservizi, consulta la documentazione di Anthos Service Mesh. Se non hai familiarità con l'utilizzo dei microservizi con i container e cosa possono fare per te, consulta Preparazione di un'app per Anthos Service Mesh.

Nel nostro esempio, il cluster nel deployment di esempio ha l'app di esempio Bank of Anthos basata su microservizi in esecuzione. L'applicazione include anche un'utilità loadgenerator che simula una piccola quantità di carico sul cluster in modo da poter visualizzare le metriche e il traffico nella dashboard.

In questa sezione utilizzerai la pagina Mesh di servizi GKE per esaminare i servizi e il traffico di questa applicazione.

Nella console di Google Kubernetes Engine, vai alla pagina Mesh di servizi.

Vai alla pagina Mesh di servizi

La pagina mostra la visualizzazione Elenco e Topologia affiancate, che mostrano tutti i microservizi del progetto, inclusi i servizi di sistema. Il completamento dei dati della pagina Mesh di servizi potrebbe richiedere un po' di tempo. Se vedi un diagramma parziale o nessun diagramma nella visualizzazione della topologia, prova a riavviare i pod nel cluster oppure puoi passare alla sezione successiva e ricontrollare in un secondo momento.

Utilizzare la visualizzazione elenco

Ogni riga nell'elenco è uno dei servizi che compongono l'applicazione Bank of Anthos. Ad esempio, il servizio frontend esegue il rendering dell'interfaccia utente web dell'applicazione, mentre il servizio userservice gestisce gli account utente e l'autenticazione.

Ogni elenco di servizi mostra metriche aggiornate per il servizio, ad esempio la percentuale di errori del server e le richieste al secondo. Queste metriche vengono raccolte immediatamente per i servizi di cui è stato eseguito il deployment su GKE Enterprise. Non è necessario scrivere alcun codice applicazione per visualizzare queste statistiche.

Puoi visualizzare i dettagli in questa visualizzazione per vedere ancora più dettagli su ciascun servizio. Ad esempio, per scoprire di più sul servizio transactionhistory:

  1. Fai clic su transactionhistory nell'elenco dei servizi. La pagina dei dettagli del servizio mostra tutti i dati di telemetria disponibili per questo servizio.

  2. Nella pagina Cronologia delle transazioni, seleziona Servizi connessi dal menu a sinistra. Qui puoi vedere sia le connessioni In entrata che In uscita per il servizio. L'icona di un lucchetto sbloccato indica che parte del traffico è stato osservato su questa porta non criptata tramite TLS (mTLS). Puoi scoprire di più su come funziona nel tutorial Protezione di GKE Enterprise.

    Screenshot della vista Servizi connessi di Anthos Service Mesh

Utilizzare la visualizzazione topologia

La visualizzazione della topologia ti consente di concentrarti sul modo in cui i servizi interagiscono. Come puoi vedere dalla legenda, il grafico mostra i servizi Anthos Service Mesh, i servizi Istio, i deployment e i pod dell'applicazione. Se vuoi espandere questa visualizzazione, fai clic su Attiva/disattiva riquadro "Riquadro sinistro" nella Visualizzazione elenco.

Screenshot della vista della topologia Anthos Service Mesh

Anthos Service Mesh osserva automaticamente quali servizi comunicano tra loro per mostrare i dettagli delle connessioni tra i servizi:

  • Tieni premuto il puntatore del mouse su un elemento per visualizzare ulteriori dettagli, tra cui il valore QPS in uscita di ciascun servizio.

  • Trascina i nodi con il mouse per migliorare la visualizzazione di parti specifiche del grafico.

  • Fai clic sui nodi di servizio per ulteriori informazioni sui servizi.

  • Fai clic su Espandi quando tieni il puntatore sul nodo di un carico di lavoro per visualizzare in dettaglio e visualizzare ancora più dettagli, tra cui il numero di istanze di un carico di lavoro attualmente in esecuzione.

Esplorare ulteriormente GKE Enterprise

Questo tutorial ti ha mostrato molte funzionalità di GKE Enterprise, ma c'è ancora molto da vedere e da fare con il nostro deployment. Consulta il nostro tutorial di follow-up per provare alcune attività pratiche con GKE Enterprise oppure continua a esplorare personalmente l'esempio prima di eseguire la pulizia.

Risolvere i problemi

In caso di problemi durante il deployment dell'applicazione Bank of Anthos, consulta i seguenti scenari di risoluzione dei problemi.

API Google Cloud non abilitate (codice 403)

Potresti visualizzare errori simili ai seguenti:

Error: Error creating Feature: failed to create a diff: failed to retrieve Feature resource: googleapi:
Error 403: GKE Hub API has not been used in project {project-number} before or it is disabled.
Enable it by visiting https://console.developers.google.com/apis/api/gkehub.googleapis.com/overview?project={project-number} then retry.
If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

Come suggerisce l'errore, attendi qualche minuto affinché un'API sia completamente abilitata ed esegui di nuovo il deployment utilizzando terraform apply.

Pagina del mesh di servizi non visualizza tutti i servizi

Dopo aver eseguito il deployment dell'applicazione Bank of Anthos, potrebbe essere necessario attendere qualche minuto prima che la pagina Mesh di servizi mostri i microservizi del tuo progetto. Se la pagina Mesh di servizi non mostra alcuni o tutti i servizi anche dopo pochi minuti, è possibile che alcuni dei proxy per Anthos Service Mesh non siano stati avviati automaticamente insieme ai carichi di lavoro dell'applicazione.

Per risolvere questo problema, riavvia i pod nel cluster anthos-sample-cluster1:

  • Recupera le credenziali per il cluster:

    gcloud container clusters get-credentials anthos-sample-cluster1 --zone us-central1
    
  • Elimina i pod:

    kubectl delete pod -n default --all
    
  • Verifica che i pod siano stati riavviati:

    kubectl get pod -n default
    

La pagina Mesh di servizi dovrebbe essere completata con i microservizi del tuo progetto entro pochi minuti.

Esegui la pulizia

Dopo aver esplorato l'applicazione Bank of Anthos, puoi eseguire la pulizia delle risorse che hai creato su Google Cloud in modo che non occupino quota e non ti vengano addebitati costi in futuro.

  • Opzione 1. Puoi eliminare il progetto. Tuttavia, se vuoi mantenere il progetto, puoi utilizzare l'opzione 2 per eliminare il deployment.

  • Opzione 2. Se vuoi mantenere il progetto attuale, puoi utilizzare terraform destroy per eliminare l'applicazione e il cluster di esempio.

Elimina il progetto (opzione 1)

Il modo più semplice per evitare la fatturazione è eliminare il progetto che hai creato per questo tutorial.

    Elimina un progetto Google Cloud:

    gcloud projects delete PROJECT_ID

Elimina il deployment (opzione 2)

Questo approccio elimina l'applicazione Bank of Anthos e il cluster, ma non elimina il progetto. Esegui i comandi seguenti su Cloud Shell:

  1. Passa alla directory che ospita gli script di installazione:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  2. Elimina l'esempio e il cluster:

    terraform destroy
    
  3. Inserisci l'ID progetto quando richiesto.

Se prevedi di eseguire nuovamente il deployment, verifica che tutti i requisiti siano soddisfatti come descritto nella sezione Prima di iniziare.

Passaggi successivi