Questo tutorial mostra come utilizzare Gemini per Google Cloud, un collaboratore basato sull'AI di Google Cloud, per creare, testare e modificare un cluster Google Kubernetes Engine (GKE) in Autopilot. Vedrai come Gemini può aiutarti a eseguire il deployment di una semplice app nel cluster e a creare un periodo di manutenzione giornaliera per l'app. Questo tutorial è rivolto a ingegneri di qualsiasi livello di esperienza.
Obiettivi
- Esplora i vari servizi Google che puoi utilizzare per eseguire il deployment di un'app su GKE ponendo domande a Gemini basate sul contesto.
- Chiedi a Gemini di fornire comandi che puoi usare per eseguire il deployment di un'app di base in un cluster GKE.
- Creare, esplorare e modificare il cluster GKE utilizzando Gemini per spiegare e generare i comandi della shell.
Prodotti Google Cloud utilizzati
Questo tutorial utilizza i seguenti prodotti Google Cloud fatturabili. Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.
GKE. GKE è un servizio Kubernetes gestito che consente di eseguire il deployment e la gestione di applicazioni containerizzate su larga scala. Per informazioni sui prezzi, consulta i prezzi di GKE.
Gemini. Gemini è un collaboratore sempre attivo di Google Cloud che offre assistenza basata sull'AIA generativa a un'ampia gamma di utenti, tra cui sviluppatori e data scientist. Per offrire un'esperienza di assistenza integrata, Gemini è integrato in molti prodotti Google Cloud.
Prima di iniziare
- Abilita l'API GKE.
- Assicurati che Gemini sia configurato per il tuo account utente e progetto Google Cloud.
Esplora Kubernetes in Google Cloud
Per l'esempio seguente, supponiamo che tu sia un amministratore dell'infrastruttura responsabile della configurazione dell'infrastruttura per un team che sviluppa un'applicazione web. In generale, l'organizzazione ha standardizzato utilizzando container e Kubernetes, quindi il team vuole capire come eseguire la propria applicazione web su Kubernetes in Google Cloud. Inoltre, punta a ridurre il più possibile l'overhead possibile per la gestione dell'infrastruttura.
Nella console Google Cloud, puoi chattare con Gemini per ricevere assistenza. Nel riquadro Gemini, inserisci i prompt, ovvero domande o affermazioni che descrivono l'aiuto che vuoi ricevere. Gemini restituisce le risposte. Gemini non usa i tuoi prompt o le sue risposte come dati per addestrare il suo modello. Per maggiori informazioni, consulta la pagina In che modo Gemini per Google Cloud utilizza i dati.
Per ulteriori informazioni sulla scrittura di prompt per generare risposte efficaci, consulta Scrivere prompt migliori per Gemini.
Per chiedere a Gemini di aiutarti a decidere come eseguire Kubernetes in Google Cloud, segui questi passaggi:
Nella barra degli strumenti della console Google Cloud, fai clic su spark Apri Gemini.
Nel riquadro Gemini, inserisci il seguente prompt in base ai tuoi requisiti e alle tue preferenze, quindi fai clic su Invia:
How can I run Kubernetes on Google Cloud without having to own management of nodes and the control plane?
La risposta di Gemini può avere il seguente aspetto:
To run Kubernetes on Google Cloud without having to own management of nodes and the control plane, you can use Google Kubernetes Engine (Google Kubernetes Engine (GKE)) in Autopilot. In Autopilot mode, Google manages the control plane and system components for you, and also manages your worker nodes.
Inserisci una domanda aggiuntiva. Ad esempio, se vuoi standardizzare la creazione di cluster GKE in modalità Autopilot utilizzando Terraform, inserisci questo prompt:
Can you use Terraform to provision GKE clusters in Autopilot mode?
La risposta di Gemini può avere il seguente aspetto:
Yes, you can use Terraform to provision GKE clusters in Autopilot mode. Terraform is a tool that can be used to create and manage infrastructure on Google Cloud Platform. Find more information for your question here: https://cloud.google.com/blog/products/containers-kubernetes/partner-devops-and-security-solutions-for-gke-autopilot
(Facoltativo) Se la cronologia chat non è pertinente per la domanda successiva, reimpostala: nel riquadro Gemini, fai clic sull'icona Elimina, quindi seleziona Reimposta chat.
Crea un cluster GKE in modalità Autopilot
Tieni presente che non hai familiarità con l'esecuzione di Kubernetes con GKE in modalità Autopilot. Prima di eseguire il provisioning di un cluster per gli sviluppatori, decidi di testare GKE in modalità Autopilot. In questa sezione chiederai a Gemini di aiutarti nella creazione e nell'esecuzione di un'app web di test in un cluster GKE in modalità Autopilot.
Nel riquadro Gemini, inserisci il seguente prompt, quindi fai clic su Invia:
How do I create a GKE Autopilot cluster?
Gemini risponde con le istruzioni per creare un cluster utilizzando la console Google Cloud e Google Cloud CLI.
Quando vedi una risposta che include valori segnaposto come CLUSTER_NAME, REGION e PROJECT_ID, l'aggiunta di queste informazioni al prompt potrebbe portare a risposte ancora più utili. Perfeziona di nuovo il prompt con maggiori dettagli:
What is the command to create a GKE Autopilot cluster in my current project named gemini-demo in the us-central region using the gcloud CLI?
Gemini restituisce una risposta simile alla seguente:
gcloud container clusters create-auto gemini-demo --region us-central1
Per utilizzare il comando fornito da Gemini, apri Cloud Shell ed esegui il comando
gcloud
precedente nella risposta.Dopo alcuni minuti, il cluster GKE Autopilot sarà pronto per l'uso.
Esegui il deployment di un'applicazione web di esempio
Ora che hai creato un cluster GKE in modalità Autopilot, vuoi testare un'applicazione web di esempio simile all'applicazione che il tuo team eseguirà su questa infrastruttura. Internamente, vedi la seguente immagine container
di Google aggiunta ai preferiti per il test di un'applicazione web containerizzata:
us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
.
Nel riquadro Gemini, inserisci il seguente prompt, quindi fai clic su Invia:
What is the kubectl command to create a deployment called hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0?
Gemini restituisce una risposta simile a:
To create a deployment called hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0, you can use the following kubectl command: kubectl create deployment hello-server --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Esegui il comando
kubectl
precedente in Cloud Shell.Una volta creato il server web, decidi di testare il provisioning di un bilanciatore del carico davanti al server web per esporlo su internet.
Nel riquadro Gemini, inserisci il seguente prompt, quindi fai clic su Invia:
What is the kubectl command to expose this deployment on port 80 with a load balancer?
Gemini restituisce una risposta simile alla seguente:
To expose the hello-server deployment on port 80 with a load balancer, you can use the following kubectl expose command: kubectl expose deployment hello-server \ --type LoadBalancer \ --port 80 \ --target-port 8080
L'esecuzione di questo comando creerà un bilanciatore del carico di Compute Engine per il container.
Sebbene fornire maggiore contesto sia sempre utile, notare che Gemini è stato in grado di estrarre il nome del deployment
hello-server
dalla cronologia delle conversazioni senza che fosse incluso nel prompt.Ora vuoi vedere se il server web è in esecuzione e gestisce correttamente le richieste. Per visualizzare l'applicazione di cui hai eseguito il deployment, devi recuperare l'indirizzo IP esterno dal servizio Kubernetes che hai creato.
Digita il seguente prompt:
What is the kubectl command to see the external IP address associated with this load balancer?
Gemini restituisce una risposta simile alla seguente:
To see the external IP associated with a load balancer, you can use the following kubectl command: kubectl get service hello-server -w This will output the name of the service, the type of service, the cluster IP address, the external IP address, and the ports that the service is listening on.
Dopo alcuni minuti, l'esecuzione del comando
kubectl
precedente genererà un risultato simile a questo:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-server LoadBalancer 34.118.227.57 35.225.15.112 80:31473/TCP 6m18s
Ora puoi accedere alla tua applicazione web in esecuzione su GKE utilizzando il valore restituito per EXTERNAL-IP.
Pianifica una strategia di upgrade del cluster
Ora hai testato il caso d'uso principale del tuo team in un cluster GKE in modalità Autopilot. Tuttavia, prima di procedere con l'utilizzo di GKE Autopilot da parte del team, devi configurare un orario per la manutenzione o gli upgrade del cluster.
Sai che i modelli di traffico degli utenti per l'applicazione web del tuo team sono diurni. Dato che Gemini ha comunicato che GKE Autopilot gestisce automaticamente la manutenzione del cluster, devi stabilire che questa manutenzione avverrà al di fuori delle ore di maggior traffico della tua applicazione web.
Digita il seguente prompt:
How can I configure periods of time where GKE Autopilot won't perform maintenance or upgrades on my cluster nodes?
Gemini restituisce una risposta simile alla seguente:
To configure periods of time where GKE Autopilot won't perform maintenance or upgrades on your cluster nodes, you can use maintenance windows and exclusions. Maintenance windows are periods of time when GKE Autopilot is allowed to perform maintenance and upgrades on your cluster nodes. You can specify a maintenance window for your cluster when you create it, or you can update an existing cluster to specify a maintenance window. Maintenance exclusions are periods of time when GKE Autopilot is not allowed to perform maintenance or upgrades on your cluster nodes. You can create a maintenance exclusion for your cluster when you create it, or you can update an existing cluster to create a maintenance exclusion. To create a maintenance window or a maintenance exclusion, you can use the Google Cloud console, the gcloud CLI, or the Kubernetes API.
Decidi di creare un periodo di manutenzione giornaliera durante gli orari di disattivazione della tua applicazione web utilizzando
gcloud
. Digita il seguente prompt:How can I create a daily maintenance window from 22:00 to 02:00 using `gcloud` for my GKE Autopilot cluster named gemini-demo?
Gemini restituisce una risposta simile alla seguente:
To create a daily maintenance window using gcloud CLI for your gemini-demo GKE Autopilot cluster that goes from 22:00 to 02:00, you can use the following command: gcloud container clusters update gemini-demo \ --maintenance-window-start 22:00 \ --maintenance-window-end 02:00 \ --maintenance-window-recurrence "FREQ=DAILY" This command will create a daily maintenance window that runs from 22:00 to 02:00 UTC time zone.
L'esecuzione di questo comando garantisce che l'infrastruttura di cui esegui il provisioning per il tuo team venga sottoposta a manutenzione nei momenti meno di punta per i tuoi utenti. Ora puoi iniziare consigliando GKE Autopilot al team delle applicazioni web.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, puoi eliminare il progetto Google Cloud che hai creato per questo tutorial. In alternativa, puoi eliminare le singole risorse.
- Nella console Google Cloud, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Passaggi successivi
- Leggi la panoramica di Gemini per Google Cloud.
- Scopri di più su quote e limiti di Gemini.
- Scopri di più sulle località in cui Gemini.