Migliorare i servizi GKE con l'assistenza di Gemini

Questa pagina descrive come ottimizzare le implementazioni di Google Kubernetes Engine (GKE) per migliorare le prestazioni e l'affidabilità utilizzando Gemini Cloud Assist, un collaboratore basato sull'AI per Google Cloud. L'assistenza di Gemini può includere suggerimenti, generazione di codice e risoluzione dei problemi.

Tra i numerosi vantaggi, Gemini Cloud Assist può aiutarti a:

  • Ridurre i costi: identifica le risorse inattive, dimensiona correttamente le implementazioni e ottimizza le configurazioni di scalabilità automatica per ridurre al minimo le spese non necessarie.
  • Migliorare l'affidabilità e la stabilità: identifica in modo proattivo i potenziali problemi, come la distorsione della versione o i budget di interruzione dei pod (PDB) mancanti, per evitare tempi di inattività e garantire la resilienza dell'applicazione.
  • Ottimizzare i workload AI/ML: ricevi assistenza per il deployment, la gestione e l'ottimizzazione dei workload AI/ML su GKE.
  • Semplificare la risoluzione dei problemi: analizza rapidamente i log e individua la causa principale degli errori, risparmiando tempo e fatica.

Questa pagina è rivolta agli utenti GKE esistenti, agli operatori e agli sviluppatori che eseguono il provisioning e la configurazione delle risorse cloud e il deployment di app e servizi. Per saperne di più sui ruoli comuni e sulle attività di esempio a cui si fa riferimento nei Google Cloud contenuti, consulta Ruoli e attività comuni degli utenti GKE.

Scopri come e quando Gemini for Google Cloud utilizza i tuoi dati.

Costi

  • Gemini: durante l'anteprima, l'utilizzo di Gemini Cloud Assist non comporta costi.

  • GKE: non sono previsti costi aggiuntivi per l'utilizzo di Gemini Cloud Assist in GKE.

Prima di iniziare

Per iniziare a utilizzare Gemini con GKE, completa i seguenti prerequisiti.

Questa guida presuppone che tu abbia un cluster GKE e, preferibilmente, alcune implementazioni in esecuzione.

Chiedi a Gemini Cloud Assist

Puoi richiamare Gemini Cloud Assist dalla Google Cloud console. Gemini Cloud Assist ti consente di utilizzare prompt in linguaggio naturale per ricevere assistenza per le attività in modo rapido ed efficiente.

Per aprire Cloud Assist da una pagina GKE:

  1. Nella Google Cloud console, nella pagina di selezione del progetto, seleziona un Google Cloud progetto in cui hai abilitato Gemini Cloud Assist.

    Vai al selettore di progetti

  2. Nella Google Cloud console, vai a una pagina specifica della console Kubernetes Engine.

    Ad esempio, vai alla pagina Panoramica di Kubernetes Engine.

    Vai alla panoramica di Kubernetes Engine

    Se hai una domanda su una risorsa specifica, vai prima alla pagina pertinente. Ad esempio, nella pagina Cluster , Gemini Cloud Assist può consigliarti su come gestire i cluster, monitorare l'integrità dei cluster e risolvere i problemi dei cluster. L'utilizzo di Gemini in una pagina della console specifica Google Cloud aiuta a fornire il contesto per le tue domande. Gemini può quindi utilizzare questo contesto, insieme al progetto generale in cui ti trovi, per generare un'assistenza più personalizzata e accurata.

  3. Per aprire il riquadro di Gemini Cloud Assist, fai clic sulla stella Apri o chiudi la chat dell'AI di Gemini nella barra degli strumenti.

  4. Se ti viene richiesto e accetti i termini, fai clic su Accetto.

  5. Inserisci un prompt nel riquadro di Gemini. Consulta un workflow di esempio di utilizzo di Gemini per risolvere i problemi nella sezione seguente.

Per saperne di più sull'utilizzo di Gemini nella console Google Cloud , consulta Utilizza Gemini Cloud Assist.

Esempio di utilizzo di Gemini per la risoluzione dei problemi

Gemini può aiutarti a risolvere i problemi nei servizi GKE.

  1. Vai alla pagina Workload nella Google Cloud console.

    Vai a Workload

  2. Seleziona il workload di cui vuoi risolvere i problemi.

  3. Fai clic sulla scheda Log.

  4. Fai clic sulla stella Apri o chiudi la chat dell'AI di Gemini nella barra degli strumenti.

  5. Inserisci un prompt per descrivere il problema che stai riscontrando. Ad esempio, "La mia applicazione di database accounts-db sta riscontrando una latenza elevata". Gemini potrebbe richiedere maggiori informazioni sul contesto, ad esempio il tipo di database, l'ambito dell'impatto, come le operazioni e gli utenti interessati dalla latenza.

  6. Gemini può quindi fornire indicazioni per analizzare i log autonomamente e suggerimenti per la risoluzione dei problemi.

  7. Esamina e segui i suggerimenti per risolvere il problema.

Esempi di prompt per Gemini Cloud Assist

Questa sezione mostra alcuni casi d'uso reali e suggerisce i prompt che puoi provare a chiedere a Gemini. Le risposte effettive che ricevi potrebbero essere generiche oppure personalizzate e attuabili in base allo stato unico del tuo ambienteGoogle Cloud . Le risposte potrebbero includere link alla console Google Cloud per esaminare e gestire le risorse cloud e link alla documentazione pertinente per ulteriori informazioni.

Riduci i costi

La tabella seguente descrive i prompt che puoi utilizzare per ridurre i costi.

Prompt Tipo di risposta
"Come faccio a ridurre i costi dei miei cluster GKE senza sacrificare le prestazioni?"
  • Suggerimenti che identificano e suggeriscono la rimozione delle risorse sottoutilizzate, come i cluster inattivi.
  • Consigli sull'attivazione o la regolazione dei meccanismi di scalabilità automatica.
  • Suggerimenti che evidenziano potenziali risparmi tramite revisioni della configurazione, ad esempio le policy di conservazione dei log.
"Vorrei eseguire l'upgrade del mio cluster GKE my-docker-cluster. Qualche consiglio?" Suggerimenti per implementare configurazioni e best practice specifiche di Kubernetes, ad esempio:
  • Definizione di richieste e limiti delle risorse per i pod per garantire un'allocazione prevedibile delle risorse.
  • Utilizzo di spazi dei nomi dedicati per isolare i workload.
  • Implementazione di budget di interruzione dei pod (PDB) per garantire che sia disponibile un numero minimo di repliche dei pod durante le interruzioni volontarie, come la manutenzione o gli upgrade dei nodi.
  • Pianificazione di periodi di manutenzione per gestire le interruzioni pianificate e ridurre al minimo i tempi di inattività imprevisti.
  • Registrazione dei cluster nei canali di rilascio per gestire gli upgrade delle versioni di GKE.
"Tra un paio di settimane avrò un picco di traffico elevato sul cluster my-docker-cluster. Qualche consiglio?"
  • Strategie per scalare il numero di pod dell'applicazione utilizzando Horizontal Pod Autoscaler.
  • Strategie per aumentare le risorse (CPU, memoria) per pod utilizzando Vertical Pod Autoscaler.
"Quali dei miei workload GKE non ha abilitato HPA?" L'elenco dei workload per i quali non è abilitato l'Horizontal Pod Autoscaler.

Migliora l'affidabilità e la stabilità

La tabella seguente descrive i prompt che puoi utilizzare per migliorare l'affidabilità e la stabilità dei tuoi workload GKE.

Prompt Tipo di risposta
"Come faccio a rendere i miei cluster GKE più affidabili ed evitare tempi di inattività?"
  • Identifica la distorsione della versione nei cluster e suggerisce azioni per mantenere la compatibilità con la versione di Kubernetes.
  • Fornisce consigli per implementare l'isolamento delle risorse.
  • Fornisce consigli per configurare i budget di interruzione dei pod (PDB) in modo da mantenere un numero minimo di repliche dei pod in esecuzione durante la manutenzione o gli upgrade pianificati.
"Mostrami come posso spostare i miei workload dallo spazio dei nomi Default su my-cluster." Passaggi da effettuare:
  • Prepara un cluster di destinazione.
  • Esegui la migrazione di app e dati al cluster di destinazione.
  • Esegui il failover dei servizi con tempi di inattività minimi.
"Come faccio a garantire l'alta affidabilità dei miei pod in esecuzione?"
  • Una procedura dettagliata che specifica un deployment che utilizza podAntiAffinity e più repliche per la ridondanza.
  • Suggerimenti per impostare richieste e limiti delle risorse e utilizzare la scalabilità automatica orizzontale dei pod.

Ottimizzazione di GKE per i workload AI/ML

La tabella seguente descrive i prompt che puoi utilizzare per ricevere assistenza per il deployment, la gestione e l'ottimizzazione dei workload AI/ML su GKE.

Prompt Tipo di risposta
"Quali sono le configurazioni dei node pool consigliate per l'esecuzione dell'addestramento TensorFlow distribuito su larga scala su GKE con GPU?" I consigli per ottimizzare l'addestramento ML di TensorFlow distribuito su GKE possono includere quanto segue:
  • Selezione di tipi di GPU e macchina giusti.
  • Abilitazione della scalabilità automatica.
  • Ottimizzazione della connettività di rete.
  • Sfruttamento dei framework di addestramento distribuito.
  • Implementazione di misure di risparmio sui costi.
"Come faccio a utilizzare le GPU su GKE per l'addestramento?" Panoramica dei passaggi e delle considerazioni per configurare un cluster e i workload in modo da utilizzare le GPU.
"Forniscimi un esempio di deployment di un container di erogazione del modello su GKE." Un esempio con codice campione per eseguire il deployment di un container di erogazione del modello su GKE. L'esempio potrebbe incorporare best practice e contribuire a garantire la scalabilità.
"Quali metriche devo monitorare per valutare l'efficacia della configurazione del bilanciamento del carico per l'inferenza?" L'elenco delle metriche, come la distribuzione del traffico, la latenza, le percentuali di errore, l'utilizzo di CPU e memoria, per ottenere informazioni dettagliate sul rendimento e sull'integrità della configurazione del bilanciamento del carico.

Semplifica la risoluzione dei problemi

La tabella seguente descrive i prompt che puoi utilizzare per analizzare rapidamente i log e identificare la causa principale degli errori, risparmiando tempo e fatica.

Prompt Tipo di risposta
"Che cosa significa questo errore?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Spiega che il kubelet non è riuscito a eseguire il probe di idoneità per il container entro il periodo di timeout definito e suggerisce potenziali cause e azioni di risoluzione dei problemi.
"Perché il mio deployment nettools si arresta in modo anomalo con l'errore ping: socket: Operation not permitted?" Spiega che il comando ping richiede la funzionalità del contesto di sicurezza CAP_NET_RAW e che, per impostazione predefinita, i container in Kubernetes vengono eseguiti con un insieme limitato di funzionalità per motivi di sicurezza.
"Che cosa significa quando il mio pod non è pianificabile a causa dell'errore Cannot schedule pods: No preemption victims found for incoming pod." Spiega come funzionano la pianificazione e il prerilascio dei pod in Kubernetes. Elenca i passaggi per risolvere i problemi per cui non è stata trovata nessuna traccia di prerilascio.

Passaggi successivi