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

In diesem Tutorial erfahren Sie, wie Sie Gemini für Google Cloud, ein KI-gestütztes Tool in Google Cloud zum Erstellen, Testen und Ändern eines Google Kubernetes Engine-Cluster (GKE) in Autopilot Sie werden sehen, Mit Gemini können Sie eine einfache Anwendung im Cluster bereitstellen und eine tägliches Wartungsfenster für die App. Dieses Tutorial richtet sich an Entwickler von unabhängig vom Erfahrungsniveau.

Lernziele

  • Verschiedene Google-Dienste kennenlernen, mit denen Sie Apps bereitstellen können GKE durch kontextbasierte Fragen an Gemini.
  • Sie können Gemini auffordern, Befehle zur Verfügung zu stellen, mit denen Sie ein einfaches Anwendung in einem GKE-Cluster.
  • GKE-Cluster mithilfe von Gemini erstellen, untersuchen und ändern und generieren die Shell-Befehle.

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 im großen Maßstab zu verwalten. Preisinformationen finden Sie unter GKE-Preise.

  • Gemini Gemini ist in Google Cloud immer aktiv und bietet Unterstützung durch generative KI für eine Vielzahl von Nutzern, einschließlich Entwickelnden und Data Scientists. Integrierte Unterstützung bieten ist Gemini in viele Google Cloud-Produkte eingebettet.

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 nehmen wir an, Sie sind Infrastrukturadministrator, verantwortlich für den Aufbau der Infrastruktur für ein Team, das ein Web entwickelt, . Die gesamte Organisation hat die Verwendung von Containern standardisiert, Kubernetes. Das Team möchte also wissen, wie es seine Webanwendung Kubernetes in Google Cloud Das Team möchte außerdem möglichst wenig Infrastruktur wie möglich zu verwalten.

In der Google Cloud Console können Sie mit Gemini chatten, um Hilfe zu erhalten. Mit der Gemini eingeben, geben Sie Aufforderungen ein. Das sind Fragen oder Aussagen, die beschreiben, welche Hilfe Sie benötigen, und Gemini gibt Antworten zurück. Gemini verwendet nicht Ihre Prompts oder die zugehörigen Antworten als Daten zum Trainieren des Modells verwenden. Weitere Informationen Siehe So verwendet Gemini für Google Cloud Ihre Daten

Weitere Informationen zum Verfassen von Prompts, um gute Antworten zu generieren, finden Sie unter Bessere Prompts für Gemini schreiben

Um Gemini Ihnen bei der Entscheidung zu helfen, wie Kubernetes in Google Cloud ausgeführt wird, führen Sie folgende Schritte aus:

  1. Klicken Sie in der Symbolleiste der Google Cloud Console auf Spark. Öffnen Gemini

  2. Geben Sie im Bereich Gemini den folgenden Prompt ein, der auf Ihren 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 z. B. eine Standardisierung GKE-Cluster im Autopilot-Modus mit Terraform erstellt haben, geben Sie folgenden Prompt:

    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 Frage nicht relevant ist und setzen Sie dann das Chatprotokoll zurück. Klicken Sie dazu im Bereich Gemini auf das Symbol Symbol Löschen, und wählen Sie dann Chat zurücksetzen aus.

GKE-Cluster im Autopilot-Modus erstellen

Sie sind nicht mit dem Ausführen von Kubernetes mit GKE im Autopilot-Modus vertraut . Bevor Sie einen Cluster für Ihre Entwickler bereitstellen, beschließen Sie, GKE zu testen im Autopilot-Modus. In diesem Abschnitt bitten Sie Gemini, Ihnen zu helfen zum Erstellen und Ausführen einer Test-Webanwendung in einem GKE-Cluster im Autopilot-Modus.

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

    How do I create a GKE Autopilot cluster?
    

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

  2. Wenn Sie eine Antwort sehen, die Platzhalterwerte wie CLUSTER_NAME, REGION und PROJECT_ID, wobei diese Informationen in den Prompt eingegeben werden zu noch nützlicheren Antworten führen. Prompt mit weiteren Optionen verfeinern 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
    

    Um den von Gemini bereitgestellten Befehl zu verwenden, öffnen Sie Cloud Shell und führen Sie durch den vorherigen gcloud-Befehl in der Antwort.

    Nach einigen Minuten ist der GKE Autopilot-Cluster einsatzbereit.

Beispiel-Webanwendung bereitstellen

Da Sie nun einen GKE-Cluster im Autopilot-Modus erstellt haben, möchten Sie Testen Sie die Ausführung einer Beispiel-Webanwendung, die der Anwendung ähnelt, die Ihr Team nutzen wird. in dieser Infrastruktur ausgeführt wird. 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 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 vor dem Webserver, um ihn für das Internet freizugeben.

    Geben Sie im Bereich Gemini den folgenden Prompt ein und klicken Sie 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 zwar immer hilfreich, doch die Vorteile von Gemini Der Bereitstellungsname hello-server kann aus der Unterhaltung abgerufen werden ohne im Prompt enthalten zu sein.

  3. Sie möchten nun sehen, ob der Webserver ausgeführt wird und Anfragen verarbeitet. ordnungsgemäß funktioniert. Zum Ansehen der bereitgestellten Anwendung müssen Sie den externe IP-Adresse des Kubernetes-Dienstes, den Sie erstellt haben.

    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 beim Ausführen des vorherigen kubectl-Befehls ein ähnliches Ergebnis:

    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 Wert auf Ihre in GKE ausgeführte Webanwendung zugreifen zurückgegeben für EXTERNAL-IP.

Strategie für Clusterupgrades planen

Sie haben jetzt den primären Anwendungsfall Ihres Teams in einem GKE-Cluster in Autopilot getestet . Bevor das Team GKE Autopilot verwenden kann, müssen Sie jedoch einen Zeitpunkt für die Clusterwartung oder -upgrades konfigurieren möchten.

Sie wissen, dass die Traffic-Muster der Nutzer für die Webanwendung Ihres Teams tagtäglich. Gemini hat mitgeteilt, dass GKE Autopilot Wartung des Clusters für Sie durchführen, möchten Sie vorgeben, während der Auslastung 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 möchten ein tägliches Wartungsfenster für Ihre Website erstellen. außerhalb der Öffnungszeiten der Anwendung mit gcloud. 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.
    

    Dieser Befehl sorgt dafür, dass die Infrastruktur, die Sie für Ihr Team bereitstellen, während der schwächsten Zeiten für Ihre Nutzer gewartet werden muss. Sie können jetzt Dann empfehlen Sie Ihrem Webanwendungsteam GKE Autopilot.

Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die verwendeten Ressourcen in Rechnung gestellt werden In dieser Anleitung können Sie das Google Cloud-Projekt löschen, das Sie für dieser Anleitung. 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