Ottimizzare i servizi GKE con l'assistenza di Gemini


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

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

  • Riduzione dei costi: identifica le risorse inattive, dimensiona correttamente le implementazioni e ottimizza le configurazioni di scalabilità automatica per ridurre al minimo le spese non necessarie.
  • Migliora l'affidabilità e la stabilità: identifica in modo proattivo i potenziali problemi, come la distorsione della versione o i budget di interruzione dei pod mancanti, per evitare tempi di inattività e garantire la resilienza delle applicazioni.
  • Ottimizza i workload AI/ML: ricevi assistenza per il deployment, la gestione e l'ottimizzazione dei workload AI/ML su GKE.
  • Semplifica 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 scoprire di più sui ruoli comuni e sulle attività di esempio a cui viene fatto riferimento nei contenuti di Google Cloud , consulta Ruoli utente e attività comuni di GKE Enterprise.

Scopri come e quando Gemini per 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 disponga di un cluster GKE e, preferibilmente, di alcuni deployment in esecuzione.

Chiedere a Gemini Cloud Assist

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

Per aprire Cloud Assist da una pagina GKE:

  1. Nella console Google Cloud , nella pagina del selettore di progetti, seleziona un Google Cloud progetto in cui hai attivato Gemini Cloud Assist.

    Vai al selettore dei progetti

  2. Nella console Google Cloud , 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 relativi ai cluster. L'utilizzo di Gemini in una pagina specifica della console Google Cloud aiuta a fornire il contesto per le tue domande. Gemini può quindi utilizzare questo contesto, insieme al progetto complessivo in cui ti trovi, per generare un'assistenza più personalizzata e accurata.

  3. Per aprire il riquadro di Gemini Cloud Assist, fai clic sull'icona a forma di scintilla Apri o chiudi la chat dell'AI di Gemini nella barra degli strumenti.

  4. Se ti viene chiesto di accettare i termini, fai clic su Accetta.

  5. Inserisci un prompt nel riquadro di Gemini. Consulta un flusso di lavoro di esempio per la risoluzione dei problemi con Gemini nella sezione seguente.

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

Esempio di utilizzo di Gemini per la risoluzione dei problemi

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

  1. Vai alla pagina Workload nella console Google Cloud .

    Vai a Carichi di lavoro

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

  3. Fai clic sulla scheda Log.

  4. Fai clic su spark 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 chiederti maggiori informazioni sul contesto, ad esempio il tipo di database, l'ambito dell'impatto, ad esempio le operazioni e gli utenti interessati dalla latenza.

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

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

Prompt di esempio 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 univoco del tuo ambienteGoogle Cloud . Le risposte potrebbero includere Google Cloud link alla console per esaminare e gestire le risorse cloud e link alla documentazione pertinente per ulteriori informazioni.

Riduzione dei costi

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

Prompt Tipo di risposta
"Come posso risparmiare sui costi dei miei cluster GKE senza rinunciare alle 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 mettono in evidenza i potenziali risparmi tramite le revisioni della configurazione, ad esempio le norme 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 carichi di lavoro.
  • Implementa i budget di interruzione dei pod per garantire che un numero minimo di repliche dei pod sia disponibile durante le interruzioni volontarie, come la manutenzione o gli upgrade dei nodi.
  • Pianificazione dei 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 nel cluster my-docker-cluster. Qualche consiglio?"
  • Strategie per scalare il numero di pod dell'applicazione utilizzando il gestore della scalabilità automatica del pod orizzontale.
  • Strategie per aumentare le risorse (CPU, memoria) per pod utilizzando lo strumento di scalabilità automatica verticale dei pod.
"Quali dei miei carichi di lavoro GKE non hanno HPA abilitato?" L'elenco dei carichi di lavoro per i quali non è abilitato l'Horizontal Pod Autoscaler.

Migliorare l'affidabilità e la stabilità

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

Prompt Tipo di risposta
"Come posso rendere più affidabili i miei cluster GKE ed evitare tempi di inattività?"
  • Identifica la distorsione della versione nei cluster e suggerisce azioni per mantenere la compatibilità della versione di Kubernetes.
  • Fornisce consigli per implementare l'isolamento delle risorse.
  • Fornisce consigli per configurare i budget per l'interruzione dei pod in modo da mantenere un numero minimo di repliche di pod in esecuzione durante la manutenzione o gli upgrade pianificati.
"Mostrami come posso spostare i miei carichi di lavoro dallo spazio dei nomi Default su my-cluster." Passaggi per eseguire le seguenti operazioni:
  • Prepara un cluster di destinazione.
  • Esegui la migrazione di app e dati al cluster di destinazione.
  • Esegui il passaggio ai servizi con tempi di inattività minimi.
"Come faccio a garantire l'alta disponibilità 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 carichi di lavoro AI/ML su GKE.

Prompt Tipo di risposta
"Quali sono le configurazioni pool di nodi consigliate per l'esecuzione dell'addestramento TensorFlow distribuito su larga scala su GKE con GPU?" I suggerimenti per ottimizzare l'addestramento ML distribuito di TensorFlow su GKE possono includere quanto segue:
  • Selezionare i tipi di GPU e macchina giusti.
  • Abilitazione della scalabilità automatica.
  • Ottimizzazione della connettività di rete.
  • Sfruttare i 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 servizio del modello su GKE." Un esempio con codice campione per eseguire il deployment di un container di gestione 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, i tassi di errore, l'utilizzo di CPU e memoria, per ottenere informazioni dettagliate sul rendimento e sull'integrità della configurazione del bilanciamento del carico.

Semplificare la risoluzione dei problemi

La seguente tabella 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
"Di cosa tratta questo errore?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Spiega che kubelet non è riuscito a eseguire il probe di disponibilità per il container entro il periodo di timeout definito e suggerisce potenziali cause e azioni di risoluzione dei problemi.
"Perché il mio deployment nettools ha un arresto anomalo con l'errore ping: socket: Operation not permitted?" Spiega che il comando ping richiede la funzionalità 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 la preemptive dei pod in Kubernetes. Elenca i passaggi per risolvere il problema per cui non è stata trovata alcuna vittima di preemption.

Passaggi successivi