1. Introduzione
Questo lab fornisce un'introduzione tecnica all'utilizzo di Gemini CLI e del server Model Context Protocol (MCP) di GKE per la gestione dell'infrastruttura. Nella gestione tradizionale di GKE, gli operatori traducono manualmente i requisiti dell'infrastruttura in comandi gcloud e le definizioni delle applicazioni in manifest YAML scritti. Questo lab illustra un approccio diverso: l'utilizzo di un'interfaccia interattiva che collega l'intento del linguaggio naturale con l'esecuzione tecnica su Google Kubernetes Engine (GKE). Questo cambiamento fa parte di una tendenza più ampia nel platform engineering, in cui l'attenzione si sposta dalla creazione di script di automazione rigidi alla gestione di agenti intelligenti in grado di gestire i dettagli sfumati delle operazioni dell'infrastruttura.
Concetti principali
- Platform Engineering: è la pratica di creare e gestire strumenti e workflow interni che consentono agli sviluppatori di software di gestire la propria infrastruttura senza dover essere esperti di ogni servizio cloud sottostante. L'obiettivo è ridurre l'attrito tecnico mantenendo coerenza e sicurezza. Creando un percorso consigliato standardizzato, i team di piattaforma garantiscono che gli sviluppatori di applicazioni possano eseguire il deployment in modo sicuro e rapido, mentre il team di piattaforma mantiene il controllo sulla governance e sui costi.
- Gemini CLI: è un'interfaccia a riga di comando che consente di interagire con i modelli Gemini direttamente dal terminale. A differenza di un chatbot standard basato sul web, la CLI è progettata per esistere all'interno dell'ambiente di sviluppo, semplificando l'integrazione dell'AI nei workflow esistenti basati su shell. Consente di inviare l'output di altri comandi direttamente al modello ed eseguire le istruzioni senza uscire dall'ambiente del terminale.
- Model Context Protocol (MCP): MCP è uno standard aperto che consente a un modello AI di connettersi a strumenti o origini dati specifici. Senza MCP, un modello AI conosce solo ciò su cui è stato addestrato e non può vedere le tue risorse specifiche. Con il server MCP di GKE, Gemini CLI può eseguire attivamente query sull'API del tuo progetto Google Cloud, ispezionare lo stato dei cluster ed eseguire comandi per tuo conto. Funge da ponte tra il motore di ragionamento del modello e l'API GKE effettiva.
Obiettivi del lab
Al termine di questa sessione, sarai in grado di:
- Configurare l'ambiente: accedi a Cloud Shell e autentica l'estensione MCP di GKE per consentire a Gemini CLI di interagire con le tue risorse Google Cloud.
- Progettare l'infrastruttura: utilizza i prompt interattivi per determinare le configurazioni ottimali dei cluster in base ai costi, al sovraccarico di gestione e ai requisiti dei workload.
- Gestire le risorse: genera, controlla ed esegui il deployment dei manifest Kubernetes (deployment, servizi e così via) utilizzando il linguaggio naturale.
- Analizzare le operazioni: utilizza la capacità dell'AI di aggregare log ed eventi per identificare la causa principale degli errori di deployment e suggerire correzioni tecniche specifiche.
2. Configurazione del progetto
Prima che Gemini CLI possa interagire con le tue risorse, è necessario configurare correttamente l'ambiente Google Cloud. Questa configurazione garantisce che il tuo progetto disponga delle autorizzazioni corrette e che tutti i servizi di backend necessari siano pronti a ricevere richieste dal tuo agente AI.
Apri Cloud Shell
Per questo lab, utilizzeremo Cloud Shell, un ambiente terminale basato su browser fornito da Google Cloud. Utilizziamo Cloud Shell perché è preconfigurato con tutti gli strumenti di cui abbiamo bisogno, tra cui Google Cloud CLI (gcloud), kubectl e Gemini CLI, risparmiando il tempo di installarli sulla macchina locale.
- Vai alla console Google Cloud.
- Guarda l'intestazione in alto a destra della console e fai clic sul pulsante Attiva Cloud Shell (simile a un prompt del terminale
>_). - Nella parte inferiore della finestra del browser si aprirà una sessione del terminale. Se richiesto, fai clic su Continua.
Seleziona un progetto
Nel terminale Cloud Shell, assicurati di lavorare nel progetto corretto.
- Seleziona un progetto esistente o creane uno nuovo appositamente per questo lab nella console.
- Prendi nota dell'ID progetto. Puoi impostare il progetto nella shell corrente eseguendo:
gcloud config set project [YOUR_PROJECT_ID]
Abilita API
Le funzionalità di Kubernetes e AI non sono abilitate per impostazione predefinita per i nuovi progetti. L'abilitazione di queste API inizializza i servizi Google Cloud sottostanti che gestiscono la gestione dei container, i modelli generativi e la registrazione centralizzata.
👉💻 Esegui questo comando in Cloud Shell per abilitarle. Questa procedura potrebbe richiedere un minuto.
gcloud services enable \
container.googleapis.com \
generativelanguage.googleapis.com \
cloudresourcemanager.googleapis.com \
logging.googleapis.com
- container.googleapis.com: l'API Google Kubernetes Engine. È obbligatoria per qualsiasi operazione a livello di cluster, inclusa la creazione, l'aggiornamento e l'eliminazione dei cluster.
- generativelanguage.googleapis.com: l'API che consente a Gemini CLI di comunicare con i modelli linguistici di grandi dimensioni Gemini per la generazione e il ragionamento del testo.
- cloudresourcemanager.googleapis.com: è necessario che l'agente ispezioni i metadati a livello di progetto, verifichi gli ID progetto e gestisca le autorizzazioni IAM.
- logging.googleapis.com: è essenziale per la risoluzione dei problemi, in quanto consente al server MCP di recuperare e analizzare i log dei container in caso di problemi.
3. Configurazione di Gemini CLI
Cloud Shell include Gemini CLI per impostazione predefinita, il che lo rende l'ambiente ideale per questo workflow. Il primo passaggio consiste nel configurarlo in modo che funga da "agente" con l'autorità e gli strumenti specifici necessari per gestire l'ambiente GKE. Questo passaggio di configurazione è fondamentale perché stabilisce la connessione sicura tra la logica dell'AI e l'infrastruttura cloud effettiva.
Avvia Gemini CLI
Nel terminale Cloud Shell, crea una nuova directory di lavoro ed esegui Gemini CLI. Viene avviata una sessione in cui puoi avere una conversazione continua con il modello. A differenza dei comandi una tantum, la modalità interattiva mantiene una finestra contestuale che ricorda le istruzioni precedenti e lo stato del progetto.
👉💻 Esegui i seguenti comandi:
mkdir -p ~/gke-lab
cd ~/gke-lab
gemini

Una volta all'interno, verifica la consapevolezza di base dello strumento per assicurarti che possa vedere il tuo ambiente:
- 👉💬 Prompt:
Which Google Cloud project is currently active in this shell?
Potrebbe chiederti di confermare l'esecuzione del comando gcloud, che puoi accettare.
Puoi uscire dall'interfaccia in qualsiasi momento digitando /quit.
Nota: se riscontri problemi di capacità con Gemini 2.5 Pro, puoi passare a Gemini 2.5 Flash aprendo Gemini con
gemini -m gemini-2.5-flash
o utilizzando il comando
/model
all'interno dell'interfaccia.
Collega l'estensione MCP di GKE
Per impostazione predefinita, Gemini CLI è uno strumento per uso generico e non ha una conoscenza specifica di come interagire con i tuoi cluster. Devi installare l'estensione MCP di GKE. Questa estensione funge da plug-in che definisce un insieme specifico di strumenti e funzioni, come "elenca cluster" o "recupera log dei pod", che il modello può chiamare quando deve eseguire un'attività.
👉💻 Esegui i seguenti comandi per installare l'estensione GKE e riaprire Gemini CLI:
gemini extensions install https://github.com/GoogleCloudPlatform/gke-mcp.git
gemini
Puoi verificare che sia stata abilitata correttamente rientrando in Gemini CLI e digitando:
/extensions
4. Esegui il provisioning dell'infrastruttura
Il provisioning dell'infrastruttura tradizionale spesso comporta la navigazione in una documentazione complessa o la scrittura di centinaia di righe di codice di configurazione. Utilizzando un agente, puoi concentrarti sulla descrizione dei requisiti e lasciare che l'AI gestisca la traduzione tecnica nelle chiamate API corrette. Questa sezione mostra come utilizzare l'agente sia per la fase di pianificazione sia per la creazione effettiva dell'ambiente GKE.
Pianificazione tecnica e confronto
Prima di creare un cluster, devi scegliere un'architettura adatta alle tue esigenze. GKE offre due modalità principali: Standard, in cui hai il controllo completo sui nodi sottostanti, e Autopilot, in cui Google gestisce i nodi e paghi in base alle risorse richieste dai tuoi pod. Proviamo a eseguire una query semplice per comprendere le differenze tra le due e valutare quale utilizzare per un caso d'uso specifico.
- 👉💬 Prompt:
I need to run a standard 3-tier web application. Compare GKE Standard and GKE Autopilot. Focus on the operational effort for a small team and the cost structure for small workloads.
Prova a chiedere altre idee per l'infrastruttura. Cosa succede se esegui il deployment di workload di inferenza AI, hai bisogno di qualcosa su larga scala o hai vincoli di networking complessi? Sperimenta con altri prompt.
Esegui la creazione del cluster
Dopo aver esaminato il confronto e fatto una scelta, puoi chiedere all'agente di creare il cluster. L'agente analizzerà la tua richiesta e chiamerà lo strumento create_cluster dal server MCP di GKE per eseguire il deployment di un ambiente pronto per la produzione in base a questi requisiti.
- 👉💬 Prompt:
Create a GKE Standard zonal cluster named 'gke-lab' in us-central1-a with 1 node with 4 CPUs. The cluster should have Workload Identity enabled.
Nota: il provisioning del cluster GKE prevede la configurazione del control plane, delle reti private virtuali e delle configurazioni iniziali dei nodi, che in genere richiede 8-10 minuti. Non chiudere la sessione di Gemini CLI.
Puoi chiedere informazioni sullo stato del cluster, che utilizzerà di nuovo il server MCP di GKE per restituire informazioni aggiornate.
- 👉💬 Prompt:
Is the new GKE cluster created and ready to use, yet?
5. Deployment e convalida
Uno dei principali vantaggi dell'utilizzo di un agente AI per il platform engineering è la sua capacità di eseguire controlli e audit "pre-flight" sulle configurazioni. Anziché eseguire il deployment di un manifest e attendere che non vada a buon fine, puoi utilizzare l'agente per verificare che il file YAML sia tecnicamente valido e rispetti le norme di sicurezza della tua organizzazione prima che raggiunga il cluster.
Genera manifest
Chiedi all'agente di creare un manifest di deployment. Poiché l'agente comprende il controllo delle versioni e lo schema dell'API Kubernetes, genererà un file YAML formattato correttamente e includerà tutti i campi necessari per un deployment riuscito.
- 👉💬 Prompt:
Generate a Kubernetes YAML manifest for an Nginx web server. I need 3 replicas. Set a memory limit of 256Mi and a CPU limit of 500m. Also, include a Service of type LoadBalancer to make it accessible via the internet. Save the manifest as web-server.yaml
Convalida tecnica e audit di sicurezza
La creazione manuale di file YAML spesso comporta configurazioni eseguite con più privilegi del necessario o prive di funzionalità di affidabilità di base. Puoi utilizzare l'agente per controllare il manifest appena creato per assicurarti che soddisfi gli standard moderni di sicurezza e resilienza.
- 👉💬 Prompt:
Review the Nginx manifest you just created. Does it include resource requests (not just limits)? Does it specify a non-root user for the container? Add a Pod Disruption Budget to ensure high availability during cluster maintenance. Make any necessary modifications to the file, and tell me what changes were made.
Esecuzione del deployment
Una volta completato il provisioning del cluster nella sezione precedente, chiedi a Gemini CLI di applicare la configurazione al nuovo cluster. L'agente utilizzerà i suoi strumenti per comunicare con il server API Kubernetes e creare le risorse richieste.
- 👉💬 Prompt:
Deploy the audited Nginx manifest to the 'gke-lab' cluster. Use the kubectl command to do this.
Verifica lo stato in tempo reale
Anziché eseguire più comandi kubectl get pods o kubectl describe, puoi chiedere all'agente un riepilogo in linguaggio naturale dell'avanzamento del deployment.
- 👉💬 Prompt:
Are the Nginx pods running? Provide the external IP address assigned to the LoadBalancer once it is available.
Sei in stallo?
Se i servizi Nginx non sembrano essere sottoposti a deployment correttamente, prova a risolvere il problema con Gemini CLI. È qui per aiutarti.
- 👉💬 Prompt:
The Nginx deployment doesn't start up as expected. Can you help troubleshoot?
6. Manutenzione e risoluzione dei problemi
Uno degli aspetti più preziosi di una piattaforma basata sull'AI è la sua capacità di eseguire operazioni "Day 2". Quando un sistema non funziona, la difficoltà è spesso cercare tra migliaia di righe di log per trovare l'errore che conta. Utilizzando Gemini CLI con MCP, puoi consentire all'agente di aggregare log, eventi e messaggi di stato per fornirti una diagnosi di alto livello e un percorso specifico per la risoluzione.
Inserisci manualmente un errore
Per testare la capacità diagnostica dell'agente, creeremo intenzionalmente uno stato di errore. In una scheda del terminale separata, esegui questo comando per aggiornare il deployment con un'immagine container inesistente. In questo modo si simula un errore umano comune: un errore di battitura in un tag contenitore.
👉💻 Esegui il seguente comando al di fuori di Gemini CLI:
kubectl set image deployment/nginx nginx=nginx:invalid-version-xyz123
Nota: il deployment potrebbe non essere chiamato esattamente "nginx". Puoi verificarlo eseguendo
kubectl get deployments
Kubernetes tenterà di estrarre questa immagine, non riuscirà perché non riesce a trovare il tag e i pod entreranno in uno stato ImagePullBackOff.
Analisi con Gemini CLI
Torna alla sessione di Gemini CLI. Anziché cercare manualmente nella console Cloud Logging, chiedi all'agente di trovare e spiegare l'errore.
- 👉💬 Prompt:
The Nginx deployment on my 'gke-lab' cluster has stopped working. Use your tools to inspect the cluster state, check the recent events, and explain exactly why the pods are failing to start.
Che cosa succede: Gemini CLI rileva che il deployment non è integro. Utilizzerà quindi gli strumenti disponibili per ispezionare i pod non riusciti. L'agente identificherà l'errore di pull, spiegherà che il tag non è valido e ti suggerirà di ripristinare un'immagine funzionante.
Manutenzione e valutazione dei rischi
La manutenzione della piattaforma prevede di rimanere al passo con gli upgrade e le deprecazioni. Puoi chiedere all'agente di fungere da SRE e valutare l'integrità e la longevità del cluster.
- 👉💬 Prompt:
Is my cluster 'gke-lab' running the latest version of GKE? Check for available upgrades and let me know if any of my current resources use deprecated APIs that would break during an upgrade.
In questo modo, Gemini potrebbe chiamare gli strumenti del server MCP di GKE, come gli strumenti di stato e di consigli del cluster.
7. Conclusione
Questo lab ha illustrato un nuovo modo di interagire con l'infrastruttura cloud. Integrando un agente AI direttamente nel workflow del terminale tramite Gemini CLI e MCP, sei passato da scrittore manuale di comandi a direttore di intenti. Questo approccio consente ai team di piattaforma di scalare la propria competenza fornendo un'interfaccia intelligente che gestisce i dettagli ripetitivi e soggetti a errori della gestione di Kubernetes, mentre l'ingegnere umano si concentra sull'architettura di alto livello e sulla risoluzione dei problemi.
Riepilogo del lab
- Connettività: hai connesso correttamente Gemini CLI all'API GKE utilizzando il Model Context Protocol, fornendo al modello AI visibilità diretta sullo stato del progetto.
- Infrastruttura: hai utilizzato il linguaggio naturale per progettare ed eseguire il provisioning di un cluster GKE, evitando la necessità di memorizzare flag CLI complessi.
- Sviluppo: hai generato, controllato la sicurezza ed eseguito il deployment delle risorse Kubernetes senza modificare manualmente il file YAML, assicurandoti che le best practice siano state seguite fin dall'inizio.
- Operazioni: hai utilizzato l'AI per eseguire l'analisi della causa principale di un deployment non funzionante, riducendo significativamente il tempo medio di ripristino consentendo all'AI di riepilogare log ed eventi.
Esegui la pulizia
Per evitare addebiti continui di Google Cloud per le risorse create in questo lab, puoi chiedere all'agente di eliminare il cluster.
Nota: salta questo passaggio se prevedi di riutilizzare il cluster GKE per un altro lab.
- 👉💬 Prompt:
Delete the 'gke-lab' cluster and any associated resources.
Passaggi successivi
Consigli per ulteriori approfondimenti:
- Documentazione di Gemini CLI: la documentazione ufficiale di Gemini CLI.
- Documentazione di GKE: la pagina di destinazione per tutta la documentazione di GKE.
- Platform Engineering su Google Cloud: indicazioni su come approcciarsi al Platform Engineering su Google Cloud.
- AI e machine learning su GKE: documentazione sull'esecuzione di workload AI/ML su GKE.
- **Centro architetture Google Cloud**: indicazioni e best practice per la creazione di workload su Google Cloud.