1. Einführung
kubectl-ai ist eine KI-gestützte intelligente Schnittstelle, die die Absicht des Nutzers in präzise Kubernetes-Vorgänge übersetzt und so die Kubernetes-Verwaltung zugänglicher und effizienter macht.

Aufgaben
- Sie arbeiten mit
kubectl-ai, einem KI-gestützten Kubernetes-Assistenten, um einen GKE-Cluster zu verwalten.
Lerninhalte
- Sie erstellen einen GKE-Cluster und richten
kubectl-ai.ein. - Sie führen Kubernetes-Aufgaben wie das Verwalten, Erstellen und Patchen von Ressourcen sowie die Fehlerbehebung bei Clustern und Ressourcen aus.
Voraussetzungen
- Chrome-Webbrowser
- Ein Gmail-Konto
- Ein Cloud-Projekt mit aktivierter Abrechnung
- Ein Gemini API-Schlüssel
Für dieses Codelab sind grundlegende Kubernetes-Kenntnisse erforderlich.
2. Hinweis
Projekt erstellen
- Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
- Sie verwenden die Cloud Shell, eine Befehlszeilenumgebung, die in Google Cloud ausgeführt wird und in der bq vorinstalliert ist. Klicken Sie oben in der Google Cloud Console auf „Cloud Shell aktivieren“.

- Sobald die Verbindung mit der Cloud Shell hergestellt ist, prüfen Sie mit dem folgenden Befehl, ob Sie bereits authentifiziert sind und für das Projekt schon Ihre Projekt-ID eingestellt ist:
gcloud auth list
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um zu prüfen, ob der gcloud-Befehl Ihr Projekt kennt.
gcloud config list project
- Wenn Ihr Projekt nicht festgelegt ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>
- Aktivieren Sie die erforderlichen APIs mit dem unten gezeigten Befehl. Das kann einige Minuten dauern. Bitte haben Sie etwas Geduld.
gcloud services enable cloudresourcemanager.googleapis.com \
servicenetworking.googleapis.com \
compute.googleapis.com \
container.googleapis.com
Bei erfolgreicher Ausführung des Befehls sollte eine Meldung ähnlich der folgenden angezeigt werden:
Operation "operations/..." finished successfully.
Wenn eine API fehlt, können Sie sie jederzeit während der Implementierung aktivieren.
Weitere Informationen finden Sie in der Dokumentation zu gcloud-Befehlen und ihrer Verwendung.
3. GKE-Cluster einrichten
In diesem Schritt richten wir einen GKE-Cluster ein, in dem wir unsere Befehle ausführen. Achten Sie darauf, dass Sie die vorherigen Schritte ausgeführt haben und die richtige Projekt-ID festgelegt und die erforderlichen Dienste in Ihrem Google Cloud-Projekt aktiviert haben.
GKE-Cluster erstellen
Führen Sie den folgenden Befehl in der Cloud Shell aus. Wenn Sie den Cluster in einer anderen Zone erstellen möchten, ändern Sie den Wert --zone entsprechend.
gcloud container clusters create my-gke-cluster \
--num-nodes 2 \
--machine-type e2-standard-4 \
--zone us-central1-a
Das kann eine Weile dauern. Bitte haben Sie etwas Geduld. Nach Abschluss sollte eine Ausgabe ähnlich der folgenden angezeigt werden:
Note: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s).
Creating cluster my-gke-cluster in us-central1-a... Cluster is being health-checked (Kubernetes Control Plane is healthy)...done.
Created [https://container.googleapis.com/v1/projects/YOUR_PROJECT_ID/zones/us-central1-a/clusters/my-gke-cluster].
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/us-central1-a/my-gke-cluster?project=YOUR_PROJECT_ID
kubeconfig entry generated for my-gke-cluster.
NAME: my-gke-cluster
LOCATION: us-central1-a
MASTER_VERSION: 1.33.4-gke.1350000
MASTER_IP: 34.59.221.183
MACHINE_TYPE: e2-standard-4
NODE_VERSION: 1.33.4-gke.1350000
NUM_NODES: 2
STATUS: RUNNING
STACK_TYPE: IPV4
GKE-Clusterdetails prüfen
Rufen wir zuerst die Clusteranmeldedaten ab:
gcloud container clusters get-credentials my-gke-cluster \
--zone us-central1-a
Die Ausgabe sollte in etwa so aussehen:
Fetching cluster endpoint and auth data.
kubeconfig entry generated for my-gke-cluster.
Prüfen wir als Nächstes die Clusterdetails:
kubectl get nodes
Die Ausgabe sollte in etwa so aussehen:
NAME STATUS ROLES AGE VERSION
gke-my-gke-cluster-default-pool-c63d5936-2f1z Ready <none> 2m58s v1.33.4-gke.1350000
gke-my-gke-cluster-default-pool-c63d5936-fqtl Ready <none> 3m2s v1.33.4-gke.1350000
Prüfen wir schließlich den Clusternamespace:
kubectl get namespaces
Die Ausgabe sollte in etwa so aussehen:
NAME STATUS AGE
default Active 6m16s
gke-managed-cim Active 4m21s
gke-managed-system Active 4m6s
gke-managed-volumepopulator Active 4m
gmp-public Active 3m40s
gmp-system Active 3m41s
kube-node-lease Active 6m16s
kube-public Active 6m16s
kube-system Active 6m16s
4. kubectl-ai-Befehlszeile installieren
Wir verwenden die Schnellinstallation (empfohlen) für die Installation von kubectl-ai CLI.
Geben Sie den folgenden Befehl in der Cloud Shell ein:
curl -sSL https://raw.githubusercontent.com/GoogleCloudPlatform/kubectl-ai/main/install.sh | bash
Dadurch wird die kubectl-ai CLI-Befehlszeile heruntergeladen und installiert. Am Ende sollte eine Meldung angezeigt werden:
✅ kubectl-ai installed successfully! Run 'kubectl-ai --help' to get started.
Mit dem folgenden Befehl können wir prüfen, ob der kubectl-ai-Befehl funktioniert:
kubectl-ai
Hinweis: Der obige Befehl gibt den Fehler zurück, dass
creating llm client: GEMINI_API_KEY environment variable not set
kubectl-ai unterstützt KI-Modelle von gemini, vertexai, azopenai, openai, grok, bedrock und lokalen LLM-Anbietern wie ollama und llama.cpp. In unserem Fall verwenden wir Gemini (Google) und benötigen dafür einen API-Schlüssel von Google AI Studio. Nachdem Sie den Schlüssel generiert haben und der Wert verfügbar ist, verwenden Sie den folgenden Befehl in der Cloud Shell, um die Umgebungsvariable GEMINI_API_KEY festzulegen, die auf Ihren Schlüssel verweist.
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
Hinweis: Verwenden Sie „GEMINI_API_KEY“ nur als Schlüsselwert.
Starten Sie kubectl-ai noch einmal. Dieses Mal wird es gestartet und wartet in seinem interaktiven Terminal auf Ihren Befehl.
$ kubectl-ai
Hey there, what can I help you with today?
>>>
Probieren Sie einige Abfragen zu kubectl-Befehlen in der Eingabeaufforderung aus. Hier einige Beispiele:
What is the command to get the nodes in a cluster?list pods
Sie können das kubectl-ai-Terminal mit quit beenden.
5. kubectl-ai verwenden
Nachdem Sie kubectl-ai erfolgreich konfiguriert haben, können Sie jetzt mit dem Cluster über Abfragen in natürlicher Sprache interagieren. Probieren wir einige andere Befehle aus:
Führen Sie den folgenden Befehl aus:
kubectl-ai --model gemini-2.5-flash "list pods in default namespace"
Dadurch wird die folgende Ausgabe erzeugt:
Running: kubectl get pods -n default
There are no resources found in the default namespace.
>>>
Sie sehen, dass unsere Abfrage in natürlicher Sprache zum Auflisten von Pods in den entsprechenden kubectl-Befehl übersetzt wurde.
Außerdem befinden wir uns jetzt im kubectl-ai interaktiven Terminal (>>>), wo wir weiter damit interagieren können.
Geben Sie den folgenden Befehl ein:
how many pods are there in kube-system namespace
Die Ausgabe sieht so aus:
>>> how many pods are there in kube-system namespace
Running: kubectl get pods -n kube-system --output=jsonpath='{.items[*].metadata.name}'
There are 18 pods in the kube-system namespace.
Einzelbefehl
Im vorherigen Abschnitt wurde gezeigt, wie Sie kubectl-ai starten und im interaktiven Terminal bleiben können, um nachfolgende Befehle zu geben. Das ist nicht für Befehle geeignet, die autonom und ohne interaktive Eingabeaufforderung ausgeführt werden sollen, die auf den nächsten Befehl von Ihnen wartet.
Geben Sie die Methode für Einzelbefehle mit dem Parameter --quiet ein.
Hier ist ein Beispielbefehl zum Erstellen einer Bereitstellung:
kubectl-ai --quiet "create a deployment named nginx with 2 replicas" --skip-permissions
Dadurch wird der Befehl create deployment wie unten gezeigt ausgeführt:
Running: kubectl create deployment nginx --image=nginx --replicas=2
I have created a deployment named nginx with 2 replicas. You can verify this by running kubectl get deployments .
Auf diese Weise konnten wir kubectl-ai so einrichten, dass es mit unserem aktuellen GKE-Cluster interagiert.
Wir haben gerade einige Befehle ausgeführt und eine Arbeitsweise mit kubectl-ai demonstriert. Sie können die Ausgabe an andere Tools weiterleiten, Fehler verstehen, die Persistenz zwischen verschiedenen Sitzungsausführungen von kubectl-ai nutzen und vieles mehr. Weitere Informationen finden Sie im Abschnitt „Usage“ (Verwendung) der Tool-Dokumentation.
6. (Optional) kubectl-ai-Chatoberfläche
In bestimmten Situationen bevorzugen Sie möglicherweise die Arbeit mit kubectl-ai über eine Standard-Chatoberfläche. Kubectl-ai verfügt über eine eigene UI-Oberfläche, die Sie über den unten gezeigten Befehl in der Cloud Shell starten können:
kubectl-ai --llm-provider=gemini \ --ui-type=web \ --ui-listen-address=0.0.0.0:8080
Dadurch wird das Utility in einer Chat-Oberfläche gestartet. Die Ausgabe sollte in etwa so aussehen:
listening on http://[::]:8080
Klicken Sie in der Cloud Shell auf „Webvorschau“ wie unten gezeigt:

Klicken Sie dann auf Vorschau auf Port 8080. Dadurch wird ein Browser gestartet und die Web-Chatoberfläche wie unten gezeigt verfügbar gemacht:

Hier ist eine Beispielabfrage, die wir in der Chatoberfläche ausgeführt haben:

Probieren Sie in dieser Oberfläche andere Abfragen aus. Außerdem werden Hinweise zu anderen Abfragen in natürlicher Sprache gegeben, die Sie ausführen können.
7. Bereinigen
Damit Ihrem Google Cloud-Konto keine laufenden Gebühren in Rechnung gestellt werden, müssen Sie die Ressourcen löschen, die wir während dieses Workshops erstellt haben.
Wenn Sie den GKE-Cluster, den wir im vorherigen Abschnitt dieses Codelabs erstellt haben, nicht mehr benötigen, können Sie ihn mit dem folgenden Befehl löschen:
gcloud container clusters delete my-gke-cluster --zone=us-central1-a
8. Glückwunsch
Glückwunsch! Sie haben kubectl-ai, einen KI-gestützten Kubernetes-Assistenten, erfolgreich verwendet, um Ihren Kubernetes-Cluster über Abfragen in natürlicher Sprache zu verwalten. Weitere Informationen finden Sie in den Ressourcen im nächsten Abschnitt.