GKE-Cluster mit Gemini zur Unterstützung durch Google Cloud erstellen und ändern

In dieser Anleitung erfahren Sie, wie Sie mit Gemini für Google Cloud, einem KI-gestützten Tool in Google Cloud, einen GKE-Cluster (Google Kubernetes Engine) im Autopilot-Modus erstellen, testen und ändern. Sie werden sehen, wie Gemini dabei helfen kann, eine einfache App im Cluster bereitzustellen und ein tägliches Wartungsfenster für die App zu erstellen. Diese Anleitung richtet sich an Entwickler mit unterschiedlichen Erfahrungsstufen.

Lernziele

  • Entdecken Sie verschiedene Google-Dienste, mit denen Sie eine Anwendung in GKE bereitstellen können, indem Sie Gemini kontextbasierte Fragen stellen.
  • Bitten Sie Gemini, Befehle bereitzustellen, mit denen Sie eine einfache Anwendung in einem GKE-Cluster bereitstellen können.
  • GKE-Cluster mithilfe von Gemini erstellen, untersuchen und ändern, 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 Partner in Google Cloud, der einer Vielzahl von Nutzern, einschließlich Entwicklern und Data Scientists, Unterstützung durch generative KI bietet. Gemini ist in viele Google Cloud-Produkte eingebettet, um eine integrierte Unterstützung anbieten zu können.

Hinweise

  1. Aktivieren Sie die GKE API.
  2. Prüfen Sie, ob Gemini für Ihr Google Cloud-Nutzerkonto und -Projekt eingerichtet ist.

Kubernetes in Google Cloud kennenlernen

Im folgenden Beispiel sollten Sie als Infrastrukturadministrator die Infrastruktur für ein Team einrichten, das eine Webanwendung entwickelt. Die gesamte Organisation hat die Verwendung von Containern und Kubernetes standardisiert, daher möchte das Team wissen, wie seine Webanwendung auf Kubernetes in Google Cloud ausgeführt werden kann. Außerdem möchte das Team den Aufwand für die Infrastrukturverwaltung so gering wie möglich halten.

In der Google Cloud Console können Sie mit Gemini chatten, um Hilfe zu erhalten. Im Bereich Gemini geben Sie Prompts ein. Das sind Fragen oder Aussagen, die die von Ihnen gewünschte Hilfe beschreiben. Gemini gibt dann Antworten zurück. Gemini verwendet Ihre Prompts oder die zugehörigen Antworten nicht als Daten zum Trainieren des Modells. Weitere Informationen finden Sie unter So verwendet Gemini für Google Cloud Ihre Daten.

Weitere Informationen dazu, wie Sie Prompts schreiben, um gute Antworten zu generieren, finden Sie unter Bessere Prompts für Gemini schreiben.

Führen Sie die folgenden Schritte aus, um Gemini bei der Entscheidung für die Ausführung von Kubernetes in Google Cloud zu unterstützen:

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

  2. Geben Sie im Bereich Gemini den folgenden Prompt ein (je nach Ihren Anforderungen und Präferenzen) 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 weiterführende Frage 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, können Sie das Chatprotokoll zurücksetzen. Klicken Sie dazu im Bereich Gemini auf das Symbol Löschen und wählen Sie Chat zurücksetzen aus.

GKE-Cluster im Autopilot-Modus erstellen

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

  1. Geben Sie im Bereich Gemini den folgenden Prompt ein und klicken Sie dann auf Senden:

    How do I create a GKE Autopilot cluster?
    

    Gemini antwortet mit einer 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, kann das Hinzufügen dieser Informationen zum Prompt zu noch nützlicheren Antworten führen. Verfeinern 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
    

    Wenn Sie den von Gemini bereitgestellten Befehl verwenden möchten, öffnen Sie Cloud Shell und führen Sie den vorherigen gcloud-Befehl in der Antwort aus.

    Nach einigen Minuten ist der GKE Autopilot-Cluster einsatzbereit.

Beispiel-Webanwendung bereitstellen

Nachdem Sie nun 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ührt. Intern sehen Sie das folgende Container-Image von Google mit einem Lesezeichen zum Testen einer Container-Webanwendung: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0.

  1. Geben Sie im Bereich Gemini den folgenden Prompt 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 nun erstellt wurde, entscheiden Sie sich, die Bereitstellung eines Load-Balancers vor dem Webserver zu testen, um ihn für das Internet verfügbar zu machen.

    Geben Sie im Bereich Gemini den folgenden Prompt 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 den Container erstellt.

    Mehr Kontext ist immer hilfreich. Beachten Sie jedoch, dass Gemini den Bereitstellungsnamen hello-server aus dem Unterhaltungsverlauf abrufen konnte, ohne dass er im Prompt enthalten war.

  3. Jetzt möchten Sie prüfen, ob der Webserver ordnungsgemäß ausgeführt wird und Anfragen ordnungsgemäß verarbeitet. Zum Ansehen Ihrer 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 liefert der vorherige kubectl-Befehl 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 verwenden kann, möchten Sie jedoch einen Zeitpunkt für die Clusterwartung oder -upgrades festlegen.

Sie wissen, dass die Traffic-Muster der Nutzer für die Webanwendung Ihres Teams tagtäglich sind. Da Gemini mitgeteilt hat, dass GKE Autopilot die Wartung des Clusters für Sie durchführt, möchten Sie festlegen, dass diese Wartung außerhalb der Hauptzeiten Ihrer Webanwendung 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 beschließen, mit gcloud ein tägliches Wartungsfenster außerhalb der Geschäftszeiten Ihrer Webanwendung einzurichten. 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.
    

    Durch Ausführen dieses Befehls wird die Infrastruktur, die Sie für Ihr Team bereitstellen, zu Zeiten mit der geringsten Auslastung Ihrer Nutzer gewartet. Sie können jetzt Ihrem Webanwendungsteam GKE Autopilot empfehlen.

Bereinigen

Wenn Sie vermeiden möchten, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen 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