GKE-Cluster mit Gemini für Google Cloud-Unterstützung erstellen und ändern

In dieser Anleitung erfahren Sie, wie Sie mit Gemini für Google Cloud, einer KI-basierten Unterstützung in Google Cloud, einen GKE-Cluster (Google Kubernetes Engine) in Autopilot erstellen, testen und ändern. Sie erfahren, wie Sie mit Gemini eine einfache Anwendung im Cluster bereitstellen und ein tägliches Wartungsfenster für die Anwendung erstellen können. Diese Anleitung richtet sich an Entwickler jeder Erfahrungsstufe.

Lernziele

  • Entdecken Sie verschiedene Google-Dienste, mit denen Sie eine Anwendung in GKE bereitstellen können. Stellen Sie dazu kontextbasierte Fragen zu Gemini.
  • Fordern Sie Gemini zur Bereitstellung von Befehlen auf, mit denen Sie eine einfache Anwendung in einem GKE-Cluster bereitstellen können.
  • Erstellen, untersuchen und ändern Sie den GKE-Cluster mithilfe von Gemini, um die Shell-Befehle zu erklären und zu generieren.

Verwendete Google Cloud-Produkte

In dieser Anleitung werden die folgenden kostenpflichtigen Google Cloud-Produkte verwendet. Mit dem Preisrechner können Sie eine Kostenschätzung für die voraussichtliche Nutzung erstellen.

  • GKE. GKE ist ein verwalteter Kubernetes-Dienst, mit dem Sie Containeranwendungen in großem Maßstab bereitstellen und verwalten können. Preisinformationen finden Sie unter GKE-Preise.

  • Gemini. Gemini ist ein immer aktiver Mitarbeiter in Google Cloud, der einer Vielzahl von Nutzern, einschließlich Entwicklern und Data Scientists, mit generativer KI Unterstützung bietet. Gemini ist in viele Google Cloud-Produkte eingebettet, um eine integrierte Unterstützung zu bieten.

Hinweise

  1. Aktivieren Sie die GKE API.
  2. Achten Sie darauf, dass Gemini für Ihr Google Cloud-Nutzerkonto und Ihr Projekt eingerichtet ist.

Kubernetes in Google Cloud kennenlernen

Nehmen wir im folgenden Beispiel an, dass Sie ein Infrastrukturadministrator sind, der für das Einrichten der Infrastruktur für ein Team verantwortlich ist, das eine Webanwendung entwickelt. Da die Organisation im Allgemeinen schon mit Containern und Kubernetes standardisiert wurde, möchte das Team wissen, wie sie ihre Webanwendung auf Kubernetes in Google Cloud ausführen können. Außerdem wünscht das Team so wenig Aufwand für die Infrastrukturverwaltung wie möglich.

In der Google Cloud Console können Sie mit Gemini chatten, um Hilfe zu erhalten. Im Bereich Gemini geben Sie Aufforderungen ein. Dies sind Fragen oder Anweisungen, die die gewünschte Hilfe beschreiben. Gemini gibt dann Antworten zurück. Gemini verwendet Ihre Prompts oder deren Antworten nicht als Daten zum Trainieren seines Modells. Weitere Informationen finden Sie unter So verwendet Gemini for Google Cloud Ihre Daten.

Weitere Informationen zum Schreiben von Prompts zum Generieren guter Antworten finden Sie unter Bessere Prompts für Gemini schreiben.

Führen Sie die folgenden Schritte aus, um Gemini bei der Entscheidung zu unterstützen, wie Kubernetes in Google Cloud ausgeführt werden soll:

  1. Klicken Sie in der Symbolleiste der Google Cloud Console auf spark Gemini öffnen.

  2. Geben Sie im Bereich Gemini entsprechend Ihren Anforderungen und Einstellungen die folgende Eingabeaufforderung ein und klicken Sie dann auf Senden:

    How can I run Kubernetes on Google Cloud without having to own
    management of nodes and the control plane?
    

    Die Antwort von Gemini könnte so aussehen:

    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. Geben Sie eine Folgefrage ein. Wenn Sie beispielsweise das Erstellen von GKE-Clustern im Autopilot-Modus mit Terraform standardisieren möchten, geben Sie die folgende Eingabeaufforderung ein:

    Can you use Terraform to provision GKE clusters in Autopilot mode?
    

    Die Antwort von Gemini könnte so aussehen:

    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. Optional: Wenn Ihr Chatprotokoll für Ihre nächste Frage nicht relevant ist, setzen Sie es zurück. Klicken Sie dazu im Bereich Gemini auf das Symbol Löschen und wählen Sie dann Chat zurücksetzen aus.

GKE-Cluster im Autopilot-Modus erstellen

Beachten Sie, dass Sie mit dem Ausführen von Kubernetes mit GKE im Autopilot-Modus nicht vertraut sind. Bevor Sie einen Cluster für Ihre Entwickler bereitstellen, entscheiden Sie, GKE zuerst im Autopilot-Modus zu testen. In diesem Abschnitt fordern Sie Gemini auf, Sie beim Erstellen und Ausführen einer Test-Web-App in einem GKE-Cluster im Autopilot-Modus zu unterstützen.

  1. Geben Sie im Bereich Gemini die folgende Eingabeaufforderung ein und klicken Sie dann auf Senden:

    How do I create a GKE Autopilot cluster?
    

    Gemini antwortet mit der Anleitung zum Erstellen eines Clusters mit der Google Cloud Console und der Google Cloud CLI.

  2. Wenn Sie eine Antwort sehen, die Platzhalterwerte wie CLUSTER_NAME, REGION und PROJECT_ID enthält, können Sie diese Informationen in den Prompt einfügen, um noch nützlichere Antworten zu erhalten. Optimieren Sie den Prompt noch einmal mit weiteren Details:

    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 gibt eine Antwort aus, die ungefähr so aussieht:

    gcloud container clusters create-auto gemini-demo --region us-central1
    

    Öffnen Sie Cloud Shell und führen Sie in der Antwort den vorherigen gcloud-Befehl aus, um den von Gemini bereitgestellten Befehl zu verwenden.

    Nach einigen Minuten ist der GKE Autopilot-Cluster einsatzbereit.

Beispiel-Webanwendung bereitstellen

Nachdem Sie einen GKE-Cluster im Autopilot-Modus erstellt haben, möchten Sie die Ausführung einer Beispiel-Webanwendung testen, die der Anwendung ähnelt, die Ihr Team in dieser Infrastruktur ausführen wird. Intern sehen Sie das folgende Container-Image von Google, das zum Testen einer Container-Webanwendung als Lesezeichen gespeichert wurde: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0.

  1. Geben Sie im Bereich Gemini die folgende Eingabeaufforderung ein und klicken Sie dann auf Senden:

    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 gibt eine Antwort wie diese zurück:

    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
    

    Führen Sie den vorherigen kubectl-Befehl in Cloud Shell aus.

  2. Nachdem der Webserver erstellt wurde, beschließen Sie, die Bereitstellung eines Load-Balancers vor dem Webserver zu testen, um ihn im Internet verfügbar zu machen.

    Geben Sie im Bereich Gemini die folgende Eingabeaufforderung ein und klicken Sie dann auf Senden:

    What is the kubectl command to expose this deployment on port 80 with
    a load balancer?
    

    Gemini gibt eine Antwort aus, die ungefähr so aussieht:

    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
    

    Mit diesem Befehl wird ein Compute Engine-Load-Balancer für Ihren Container erstellt.

    Es ist immer hilfreich, mehr Kontext bereitzustellen. Beachten Sie jedoch, wie Gemini den Bereitstellungsnamen hello-server aus dem Unterhaltungsverlauf abrufen konnte, ohne ihn in die Eingabeaufforderung aufzunehmen.

  3. Jetzt möchten Sie wissen, ob der Webserver korrekt ausgeführt wird und Anfragen ordnungsgemäß verarbeitet. Zum Ansehen der bereitgestellten Anwendung müssen Sie die externe IP-Adresse aus dem von Ihnen erstellten Kubernetes-Dienst abrufen.

    Geben Sie den folgenden Prompt ein:

    What is the kubectl command to see the external IP address
    associated with this load balancer?
    

    Gemini gibt eine Antwort aus, die ungefähr so aussieht:

    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.
    

    Nach einigen Minuten wird durch Ausführen des vorherigen kubectl-Befehls ein Ergebnis wie dieses:

    NAME           TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
    hello-server   LoadBalancer   34.118.227.57   35.225.15.112   80:31473/TCP   6m18s
    

    Sie können jetzt mit dem für EXTERNAL-IP zurückgegebenen Wert auf Ihre in GKE ausgeführte Webanwendung zugreifen.

Strategie für Clusterupgrades planen

Sie haben jetzt den primären Anwendungsfall Ihres Teams in einem GKE-Cluster im Autopilot-Modus getestet. Bevor das Team GKE Autopilot verwendet, möchten Sie jedoch eine Zeit für die Clusterwartung oder -upgrades konfigurieren.

Sie wissen, dass die Traffic-Muster der Nutzer für die Webanwendung Ihres Teams täglich sind. Da Gemini mitgeteilt hat, dass GKE Autopilot die Wartung des Clusters für Sie übernimmt, möchten Sie festlegen, dass diese Wartung außerhalb der Zeiten mit den meisten Zugriffen erfolgt.

  1. Geben Sie den folgenden Prompt ein:

    How can I configure periods of time where GKE Autopilot won't
    perform maintenance or upgrades on my cluster nodes?
    

    Gemini gibt eine Antwort aus, die ungefähr so aussieht:

    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. Sie entscheiden sich, während der Ruhezeiten Ihrer Webanwendung mit gcloud ein tägliches Wartungsfenster zu erstellen. Geben Sie den folgenden Prompt ein:

    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 gibt eine Antwort aus, die ungefähr so aussieht:

    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.
    

    Mit diesem Befehl sorgen Sie dafür, dass die Infrastruktur, die Sie für Ihr Team bereitstellen, zu den Zeiten mit der geringsten Auslastung Ihrer Nutzer gewartet wird. Jetzt können Sie Ihrem Webanwendungsteam GKE Autopilot empfehlen.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, können Sie das Google Cloud-Projekt löschen, das Sie für diese Anleitung erstellt haben. Alternativ können Sie die einzelnen Ressourcen löschen.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte