Crea e modifica un cluster GKE con l'assistenza di Gemini per Google Cloud

Questo tutorial mostra come utilizzare Gemini per Google Cloud, basato sull'AI in Google Cloud, per creare, testare e modificare 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 di periodo di manutenzione giornaliera dell'app. Questo tutorial è rivolto agli ingegneri a qualsiasi livello di esperienza.

Obiettivi

  • Esplora i vari servizi Google che puoi usare per eseguire il deployment di un'app di GKE ponendo domande basate sul contesto a Gemini.
  • Chiedi a Gemini di fornire comandi che puoi usare per eseguire il deployment di una 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 la Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

  • GKE. GKE è un servizio Kubernetes gestito che consente di eseguire per gestire le applicazioni containerizzate su larga scala. Per informazioni sui prezzi, vedi Prezzi di GKE.

  • Gemini. Gemini è un collaboratore sempre attivo di Google Cloud che offre assistenza basata sull'AI generativa a un'ampia gamma di utenti, tra cui: sviluppatori e data scientist. Per fornire un'assistenza integrata Gemini è integrato in molti prodotti Google Cloud.

Prima di iniziare

  1. Attiva il API GKE.
  2. 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 di un team che sviluppa un ambiente un'applicazione. In generale, l'organizzazione ha standardizzato l'uso di container Kubernetes, quindi il team vuole capire come eseguire l'applicazione web Kubernetes in Google Cloud. Il team vuole anche poco infrastruttura e l'overhead per la gestione.

Nella console Google Cloud, puoi chattare con Gemini per ricevere assistenza. L'utilizzo del Gemini, inserisci i prompt, ovvero domande o affermazioni descrivono l'aiuto che vuoi e Gemini restituisce le risposte. Gemini non utilizza i tuoi prompt o le sue risposte come dati per addestrare il suo modello. Per ulteriori informazioni, vedi In che modo Gemini per Google Cloud utilizza i dati.

Per ulteriori informazioni su come scrivere dei prompt in modo da generare risposte positive, vedi Scrivere prompt migliori per Gemini.

Per chiedere a Gemini di aiutarti a decidere come eseguire Kubernetes in Google Cloud, segui questi passaggi:

  1. Nella barra degli strumenti della console Google Cloud, fai clic su spark Apri. Gemini.

  2. Nel riquadro Gemini, inserisci il seguente prompt in base alle tue requisiti e 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.
    
  3. Inserisci una domanda aggiuntiva. Ad esempio, se vuoi standardizzare di cluster GKE in modalità Autopilot utilizzando Terraform, inserisci seguente 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
    
  4. (Facoltativo) Se la cronologia chat non è pertinente a ciò che stai chiedendo e poi reimposta la cronologia chat: nel riquadro Gemini, fai clic Elimina, e seleziona Reimposta chat.

Crea un cluster GKE in modalità Autopilot

Tieni presente che non hai dimestichezza con l'esecuzione di Kubernetes con GKE in 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.

  1. Nel riquadro Gemini, inserisci il seguente prompt e fai clic su Invia:

    How do I create a GKE Autopilot cluster?
    

    Gemini risponde con le istruzioni per creare un cluster utilizzando console Google Cloud e Google Cloud CLI.

  2. Quando vedi una risposta che include valori segnaposto come CLUSTER_NAME, REGION e PROJECT_ID, che aggiungono queste informazioni al prompt potrebbero generare risposte ancora più utili. Perfeziona di nuovo il prompt con altri dettaglio:

    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 usare 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, esegui il test di un'applicazione web di esempio simile a quella che eseguirà il tuo team su questa infrastruttura. Internamente, vedi la seguente immagine container di Google ha aggiunto il segnalibro per il test di un'applicazione web containerizzata: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0.

  1. Nel riquadro Gemini, inserisci il seguente prompt e 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.

  2. Una volta creato il server web, decidi di provare a eseguire il provisioning di fronte al server web per esporlo a internet.

    Nel riquadro Gemini, inserisci il seguente prompt e 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.

    Fornire maggiore contesto è sempre utile, ma osserva come Gemini è possibile eseguire il pull del nome del deployment hello-server dalla conversazione senza che sia incluso nel prompt.

  3. Ora vuoi vedere se il server web è in esecuzione e gestisce le richieste correttamente. Per visualizzare l'applicazione di cui hai eseguito il deployment, devi recuperare un 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'eccezione risultato simile a:

    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

Hai ora testato il caso d'uso principale del tuo team in un cluster GKE in Autopilot . Tuttavia, prima di far usare al team GKE Autopilot, vuoi configurare un orario per la manutenzione o gli upgrade del cluster.

Sai che i modelli di traffico degli utenti dell'applicazione web del tuo team è diurno. Dato che Gemini ha comunicato che GKE Autopilot gestisce del cluster per te, vuoi richiederne l'esecuzione avviene al di fuori delle ore di maggiore attività della tua applicazione web.

  1. 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.
    
  2. Decidi di creare un periodo di manutenzione giornaliera durante il orari di disattivazione dell'applicazione 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 team eseguire interventi di manutenzione nei momenti meno affollati per gli utenti. Sei pronto a consigliare 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 questo tutorial. In alternativa, puoi eliminare le singole risorse.

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Passaggi successivi