Freigeben über


Installieren und Verwenden der agentischen CLI für Azure Kubernetes Service (AKS) (Vorschau)

In diesem Artikel erfahren Sie, wie Sie die agentische CLI für Azure Kubernetes Service (AKS) im Clientmodus oder Clustermodus installieren, konfigurieren und verwenden, um KI-gestützte Problembehandlung und Einblicke für Ihre AKS-Cluster zu erhalten.

Weitere Informationen finden Sie in der Übersicht über die Agentic CLI für AKS.

Von Bedeutung

AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:

Voraussetzungen

  • Azure CLI, Version 2.76 oder höher. Überprüfen Sie Ihre Version mit dem Befehl az version. Informationen zum Installieren oder Aktualisieren finden Sie unter Installieren der Azure CLI.

  • Haben Sie einen API-Schlüssel für ein Large Language Model (LLM). Sie müssen Ihren eigenen API-Schlüssel von einem der unterstützten Anbieter mitbringen:

    • Azure OpenAI (empfohlen)
    • OpenAI oder andere LLM-Anbieter, die mit OpenAPI-Spezifikationen kompatibel sind
  • Legen Sie Ihr aktives Azure-Abonnement mithilfe des az account set Befehls fest.

    az account set --subscription "your-subscription-id-or-name"
    
  • Version 1.0.0b16 oder höher der aks-agent Azure CLI-Erweiterung, die die agentische CLI für AKS-Funktionen bereitstellt. Sie können die Erweiterung mithilfe der Azure CLI installieren oder aktualisieren.

  • Docker auf Ihrem lokalen Computer installiert und ausgeführt. Installationsanweisungen finden Sie unter "Erste Schritte mit Docker".
  • Stellen Sie sicher, dass der Docker-Daemon gestartet und ausgeführt wird, bevor Sie mit der Installation fortfahren.
  • Stellen Sie sicher, dass Ihre Azure-Anmeldeinformationen ordnungsgemäß konfiguriert sind und Sie über die erforderlichen Berechtigungen für den Zugriff auf Clusterressourcen verfügen.

Installieren der Erweiterung „Agentische CLI für AKS“

  1. Installieren Sie die agentische CLI für die AKS-Erweiterung mit dem az extension add Befehl. Wenn die Erweiterung bereits installiert ist, können Sie mit dem az extension update Befehl auf die neueste Version aktualisieren. Dieser Schritt kann bis zu 5 bis 10 Minuten dauern.

    # Install the extension
    az extension add --name aks-agent --debug
    
    # Update the extension
    az extension update --name aks-agent --debug
    
  2. Überprüfen Sie die erfolgreiche Installation mithilfe des az extension list Befehls.

    az extension list
    

    Die Ausgabe sollte einen Eintrag für aks-agent.

  3. Überprüfen Sie, ob die agentische CLI für AKS-Befehle verfügbar sind, indem Sie den Befehl [][az aks agent/cli/azure/aks#az-aks-agent] mit dem --help Parameter verwenden.

    az aks agent --help
    

    Ihre Ausgabe sollte den aks-agent mit seinen Versionsinformationen im extensions Abschnitt zeigen. Beispiel:

    ...
    "extensions": {
    "aks-agent": "1.0.0b17",
    }
    

Einrichten des LLM-API-Schlüssels

Bevor Sie mit der Installation fortfahren, müssen Sie Ihren LLM-API-Schlüssel einrichten. Wir empfehlen die Verwendung neuerer Modelle wie GPT-5 oder Claude Opus MINI für eine bessere Leistung. Stellen Sie sicher, dass Sie ein Modell mit einer hohen Kontextgröße von mindestens 128.000 Token oder höher auswählen.

  1. Erstellen Sie eine Azure OpenAI-Ressource.
  2. Stellen Sie das Modell bereit. Verwenden Sie für den Bereitstellungsnamen denselben Namen wie das Modell, wie z.B. gpt-4o oder gpt-4o-mini, abhängig vom Zugriff. Sie können jede Region verwenden, in der Sie Zugriff und Kontingent für das Modell haben. Wählen Sie in der Bereitstellung ein TPM-Limit (Token pro Minute) so hoch wie möglich aus. Für eine gute Leistung empfehlen wir mehr als 1 Million TPM.
  3. Notieren Sie sich nach Abschluss der Bereitstellung die API-Basis-URL und den API-Schlüssel. Die API-Version ist nicht die Modellversion. Sie können jede API-Version verwenden, die in Azure OpenAI in microsoft Foundry Models v1 API verfügbar und unterstützt wird. Die Azure-API-Basis bezieht sich auf den Azure OpenAI-Endpunkt (der normalerweise endet) openai.azure.com/und nicht den Ziel-URI der Bereitstellung in Foundry.

Azure OpenAI mit Microsoft Entra ID (schlüssellose Authentifizierung)

Wenn Sie "Azure Open AI (Microsoft Entra ID)" als LLM-Anbieter auswählen, können Sie die schlüssellose Authentifizierung mithilfe der Microsoft Entra-ID konfigurieren. Bei dieser Option müssen Sie keinen API-Schlüssel bereitstellen. Stattdessen erfordert diese Authentifizierungsmethode die folgenden Rollenzuweisungen:

  • Clientmodus: Die lokalen Azure CLI-Anmeldeinformationen müssen der Rolle "Cognitive Services-Benutzer " oder "Azure AI-Benutzer " in der Azure OpenAI-Ressource zugewiesen werden.
  • Clustermodus: Die Workload-Identität muss der Rolle "Cognitive Services-Benutzer " oder "Azure AI-Benutzer " in der Azure OpenAI-Ressource zugewiesen werden.

Andere LLM-Anbieter

Wenn Sie einen anderen openAI-kompatiblen Anbieter verwenden, befolgen Sie deren Dokumentation, um Anweisungen zum Erstellen eines Kontos und Abrufen des API-Schlüssels zu erhalten.

Überprüfen der Docker-Installation und Starten des Docker-Daemons

  1. Vergewissern Sie sich, dass Docker installiert ist und der Docker-Daemon mit den folgenden Befehlen ausgeführt wird:

    docker --version
    docker ps
    
  2. Wenn Sie einen Fehler erhalten, der angibt, dass der Docker-Daemon nicht ausgeführt wird, starten Sie den Docker-Dienst mit den entsprechenden Schritten für Ihr Betriebssystem:

    • macOS / Windows:

      • Starten Sie Docker Desktop aus Ihren Anwendungen.
      • Warten Sie, bis Docker gestartet wird.
    • Linux:

      • Starten Sie den Docker-Dienst mit den folgenden Befehlen:

        sudo systemctl start docker
        sudo systemctl enable docker  # Enable Docker to start on boot
        
  3. Überprüfen Sie, ob Docker mit dem folgenden Befehl ausgeführt wird:

    docker info
    

    Dieser Befehl sollte Docker-Systeminformationen ohne Fehler zurückgeben.

Initialisieren des Clientmodus

  1. Initialisieren Sie die agentische CLI mit dem Clientmodus mithilfe des az aks agent-init Befehls. Ersetzen Sie die Werte der Platzhalter durch den tatsächlichen Namen der Ressourcengruppe und des Clusters.

    az aks agent-init --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. Wenn Sie aufgefordert werden, einen Bereitstellungsmodus auszuwählen, geben Sie "2 " für den Clientmodus ein.

    🚀 Welcome to AKS Agent initialization!
    
    Please select the mode you want to use:
      1. Cluster mode - Deploys agent as a pod in your AKS cluster
         Uses service account and workload identity for secure access to cluster and Azure resources
      2. Client mode - Runs agent locally using Docker
         Uses your local Azure credentials and cluster user credentials for access
    
    Enter your choice (1 or 2): 2
    
  3. Konfigurieren Sie Ihre LLM-Anbieterdetails. Beispiel:

    Welcome to AKS Agent LLM configuration setup. Type '/exit' to exit.
     1. Azure Open AI (API Key)
     1. Azure Open AI (Microsoft Entra ID)
     3. OpenAI
     4. Anthropic
     5. Gemini
     6. Openai Compatible
    Enter the number of your LLM provider: 1
    Your selected provider: azure
    Enter value for MODEL_NAME:  (Hint: should be consistent with your deployed name, e.g., gpt-4.1) gpt-4.1
    Enter your API key: 
    Enter value for AZURE_API_BASE:  (Hint: https://{your-custom-endpoint}.openai.azure.com/) https://test-example.openai.azure.com
    Enter value for AZURE_API_VERSION:  (Default: 2025-04-01-preview)
    LLM configuration setup successfully.
    

    Hinweis

    Der API-Schlüssel wird aus Sicherheitsgründen beim Eingeben als leer angezeigt. Stellen Sie sicher, dass Sie den richtigen API-Schlüssel eingeben.

  4. Überprüfen Sie, ob die Initialisierung erfolgreich war. Der Agent ruft automatisch die erforderlichen Docker-Images ab, wenn Sie den ersten Befehl ausführen.

Clustermodus initialisieren

  1. Initialisieren Sie die agentische CLI mit dem Clustermodus mithilfe des az aks agent-init Befehls. Ersetzen Sie die Werte der Platzhalter durch den tatsächlichen Namen der Ressourcengruppe und des Clusters.

    az aks agent-init --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. Wenn Sie aufgefordert werden, einen Bereitstellungsmodus auszuwählen, geben Sie "1 " für den Clustermodus ein.

    🚀 Welcome to AKS Agent initialization!
    
    Please select the mode you want to use:
      1. Cluster mode - Deploys agent as a pod in your AKS cluster
         Uses service account and workload identity for secure access to cluster and Azure resources
      2. Client mode - Runs agent locally using Docker
         Uses your local Azure credentials and cluster user credentials for access
    
    Enter your choice (1 or 2): 1
    
  3. Wenn Sie aufgefordert werden, den Zielnamespace anzugeben, geben Sie den Namespace ein, in dem Sie das Dienstkonto erstellt haben. Im folgenden Beispiel wird als Platzhalter verwendet your-namespace . Stellen Sie sicher, dass Sie ihn durch den tatsächlichen Namespace ersetzen, den Sie verwendet haben.

    ✅ Cluster mode selected. This will set up the agent deployment in your cluster.
    
    Please specify the namespace where the agent will be deployed.
    
    Enter namespace (e.g., 'kube-system'): your-namespace
    
  4. Konfigurieren Sie Ihre LLM-Anbieterdetails. Beispiel:

    📦 Using namespace: your-namespace
    No existing LLM configuration found. Setting up new configuration...
    Please provide your LLM configuration. Type '/exit' to exit.
     1. Azure OpenAI
     2. OpenAI
     3. Anthropic
     4. Gemini
     5. OpenAI Compatible
     6. For other providers, see https://aka.ms/aks/agentic-cli/init
    Please choose the LLM provider (1-5): 1
    
  5. Stellen Sie Dienstkontodetails mithilfe des Kubernetes-Dienstkontos bereit, das Sie für die Agentbereitstellung erstellt haben. Im folgenden Beispiel wird als Platzhalter für den Dienstkontonamen verwendet aks-mcp . Stellen Sie sicher, dass Sie ihn durch den tatsächlichen Namen Ihres Dienstkontos ersetzen.

    👤 Service Account Configuration
    The AKS agent requires a service account with appropriate permissions in the 'your-namespace'
    namespace.
    Please ensure you have created the necessary Role and RoleBinding in your namespace for 
    this service account.
    
    Enter service account name: aks-mcp
    
  6. Warten Sie auf den Abschluss der Bereitstellung. Bei der Initialisierung wird der Agent mithilfe von Helm bereitgestellt.

    🚀 Deploying AKS agent (this typically takes less than 2 minutes)...
    ✅ AKS agent deployed successfully!
    Verifying deployment status...
    ✅ AKS agent is ready and running!
    
    🎉 Initialization completed successfully!
    
  7. Überprüfen Sie die erfolgreiche Bereitstellung und kontrollieren Sie den Status des Agents mithilfe des Befehls az aks agent mit dem Parameter --status.

    az aks agent \
    --status \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --namespace $NAMESPACE
    

    Ihre Ausgabe sollte angeben, dass der Agent bereit ist und läuft, ähnlich wie das Folgende:

    📊 Checking AKS agent status...
    
    ✅ Helm Release: deployed
    
    📦 Deployments:
      • aks-agent: 1/1 ready
      • aks-mcp: 1/1 ready
    
    🐳 Pods:
      • aks-agent-xxxxx-xxxxx: Running ✓
      • aks-mcp-xxxxx-xxxxx: Running ✓
    
    📋 LLM Configurations:
      • azure/gpt-4o
        API Base: https://your-service.openai.azure.com/
        API Version: 2025-04-01-preview
    
    ✅ AKS agent is ready and running!
    

    Hinweis

    Sie können die erfolgreiche Bereitstellung auch verifizieren, indem Sie die Pods und Bereitstellungen im Ziel-Namespace mit kubectl überprüfen:

    kubectl get pods --namespace $NAMESPACE | grep aks-
    kubectl get deployment --namespace $NAMESPACE | grep aks-
    

Verwenden Sie die agentic CLI für AKS

Nach der Initialisierung können Sie die agentische CLI für AKS verwenden, um Probleme mit Ihren Clustern zu beheben und intelligente Einblicke mithilfe von Abfragen in natürlicher Sprache zu erhalten. Die Befehlssyntax und -funktionalität sind für den Clientmodus und den Clustermodus identisch, mit Ausnahme der Parameter --mode und --namespace. Der Clustermodus ist der Standardbereitstellungsmodus, sodass Sie nur angeben --mode client müssen, wenn Sie den Clientmodus verwenden. Für den Clustermodus müssen Sie den --namespace Parameter mit dem Namespace angeben, in dem der Agent bereitgestellt wird.

Grundlegende Abfragen

Hinweis

Wenn Sie mehrere Modelle eingerichtet haben, können Sie das Modell angeben, das für jede Abfrage mit dem --model Parameter verwendet werden soll. Beispiel: --model=azure/gpt-4o.

Im Folgenden finden Sie Beispiele für grundlegende Abfragen, die Sie mit der agentischen CLI für AKS im Clientmodus ausführen können:

az aks agent "How many nodes are in my cluster?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --mode client
az aks agent "What is the Kubernetes version on the cluster?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --mode client
az aks agent "Why is coredns not working on my cluster?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --mode client
az aks agent "Why is my cluster in a failed state?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --mode client

Im Folgenden finden Sie Beispiele für grundlegende Abfragen, die Sie mit der agentischen CLI für AKS im Clustermodus ausführen können:

az aks agent "How many nodes are in my cluster?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --namespace $NAMESPACE
az aks agent "What is the Kubernetes version on the cluster?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --namespace $NAMESPACE
az aks agent "Why is coredns not working on my cluster?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --namespace $NAMESPACE
az aks agent "Why is my cluster in a failed state?" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --namespace $NAMESPACE

Die Oberfläche verwendet standardmäßig den interaktiven Modus, sodass Sie weiterhin Fragen mit beibehaltenen Kontext stellen können, bis Sie verlassen möchten. Um die Oberfläche zu verlassen, geben Sie /exit ein.

Befehlsparameter

Der az aks agent Befehl verfügt über mehrere Parameter, mit denen Sie die Problembehandlung anpassen können. In der folgenden Tabelle werden die wichtigsten Parameter beschrieben, die Sie beim Ausführen ihrer Abfragen verwenden können:

Parameter Description
--max-steps Die maximale Anzahl von Schritten, die der LLM ausführen kann, um das Problem zu untersuchen. Standard: 40.
--mode Der Modus entscheidet, wie der Agent bereitgestellt wird. Zulässige Werte: client, cluster. Standardwert: cluster.
--model Geben Sie den LLM-Anbieter und das Modell oder die Bereitstellung an, die für den KI-Assistenten verwendet werden soll.
--name, -n Name des verwalteten Clusters (Erforderlich)
--namespace Der Kubernetes-Namespace, in dem der AKS-Agent bereitgestellt wird. Erforderlich für den Clustermodus.
--no-echo-request Deaktivieren Sie die Rückgabe der an den AKS-Agenten gestellten Frage in der Ausgabe.
--no-interactive Interaktiver Modus deaktivieren. Wenn festgelegt, fordert der Agent keine Eingabe auf und wird im Batchmodus ausgeführt.
--refresh-toolsets Aktualisieren Sie den Werkzeugset-Status.
--resource-group, -g Name der Ressourcengruppe. (Erforderlich)
--show-tool-output Zeigt die Ausgabe der einzelnen aufgerufenen Tools an.
--status Anzeigen von AKS-Agentkonfigurations- und Statusinformationen.

Modellspezifikation

Der --model Parameter bestimmt, welche LLM und welcher Anbieter Ihren Cluster analysiert. Beispiel:

  • OpenAI: Verwenden Sie den Modellnamen direkt (z. B gpt-4o. ).
  • Azure OpenAI: Verwenden azure/<deployment name> (z. B azure/gpt-4o. ).
  • Anthropic: Verwenden Sie anthropic/claude-sonnet-4.

Interaktive Befehle

Der az aks agent hat eine Reihe von Unterbefehlen, die die Fehlerbehebung erleichtern. Um darauf zuzugreifen, geben Sie / in die interaktive Modusumgebung ein.

In der folgenden Tabelle werden die verfügbaren interaktiven Befehle beschrieben:

Command Description
/exit Verlassen Sie den interaktiven Modus.
/help Hilfemeldungen mit allen Befehlen anzeigen.
/clear Löschen Sie den Bildschirm, und setzen Sie den Unterhaltungskontext zurück.
/tools Verfügbare Toolsets und deren Status anzeigen.
/auto Schalten Sie die Anzeige der Toolausgabe nach Antworten um.
/last Zeigen Sie alle Toolausgaben aus der letzten Antwort an.
/run Führen Sie einen Bash-Befehl aus und geben Sie ihn optional für LLM frei.
/shell Wechseln Sie zur interaktiven Shell und teilen Sie dann optional die Sitzung mit LLM.
/context Zeige die Größe des Gesprächskontexts und die Anzahl der Token.
/show Zeigen Sie die spezifische Werkzeugausgabe in einem scrollbaren Fenster an.
/feedback Geben Sie Feedback zur Antwort des Agenten an.

Interaktiver Modus deaktivieren

Sie können den interaktiven Modus mit dem --no-interactive Flag mit Ihrem Befehl deaktivieren. Beispiel:

az aks agent "How many pods are in the kube-system namespace" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --mode client --model=azure/gpt-4o --no-interactive
az aks agent "Why are the pods in Crashloopbackoff in the kube-system namespace" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --mode client --model=azure/gpt-4o --no-interactive --show-tool-output
az aks agent "How many pods are in the kube-system namespace" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --namespace $NAMESPACE --model=azure/gpt-4o --no-interactive
az aks agent "Why are the pods in Crashloopbackoff in the kube-system namespace" --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --namespace $NAMESPACE --model=azure/gpt-4o --no-interactive --show-tool-output

Toolsets

Die Agentic-CLI für AKS umfasst vorgefertigte Integrationen für beliebte Überwachungs- und Observabilitäts-Tools durch Toolsets. Einige Integrationen funktionieren automatisch mit Kubernetes. Für andere Integrationen sind API-Schlüssel oder -Konfiguration erforderlich.

Für AKS gibt es spezielle Toolsets, die bei der Problembehandlung helfen. Diese Toolsets werden zu Beginn in der Ausgabe angezeigt:

...
✅ Toolset kubernetes/kube-prometheus-stack
✅ Toolset internet
✅ Toolset bash
✅ Toolset runbook
✅ Toolset kubernetes/logs
✅ Toolset kubernetes/core
✅ Toolset kubernetes/live-metrics
✅ Toolset aks/core
✅ Toolset aks/node-health
Using 37 datasources (toolsets). To refresh: use flag `--refresh-toolsets`

AKS MCP-Serverintegration

Der AKS Model Context Protocol (MCP)-Server ist standardmäßig mit der agentischen CLI für AKS aktiviert. In dieser Erfahrung wird der AKS MCP-Server lokal (oder im Cluster mit Clustermodus) gestartet und als Telemetriequelle verwendet.

Bereinigen der agentischen CLI-Bereitstellung

Bereinigen Sie Ihre Bereitstellung im Client-Modus mit dem az aks agent-cleanup-Befehl mit dem Parameter --mode client. Mit diesem Befehl wird die lokale Konfigurationsdatei entfernt und die Agentkonfiguration zurückgesetzt.

az aks agent-cleanup --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --mode client

Bereinigen Sie Ihre Clustermodus-Bereitstellung mit dem Befehl az aks agent-cleanup. Stellen Sie sicher, dass Sie den --namespace Parameter mit dem Namespace angeben, in dem der Agent bereitgestellt wird. Mit diesem Befehl wird der Agent-Pod aus dem angegebenen Namespace entfernt und die im Cluster gespeicherte LLM-Konfiguration gelöscht.

az aks agent-cleanup --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --namespace $NAMESPACE

Überprüfen Sie die erfolgreiche Bereinigung

Überprüfen Sie, ob die lokale Konfigurationsdatei und Docker-Images mithilfe der folgenden Befehle entfernt wurden:

# Check if configuration file was removed
ls ~/.azure/aksAgent.config

# Check for remaining Docker images
docker images | grep aks-agent

Überprüfen Sie, ob der Agent-Pod und die zugehörigen Ressourcen mithilfe der folgenden Befehle mit dem entsprechenden Namespace aus dem Cluster entfernt wurden:

# Check if agent pod was removed
kubectl get pods --namespace $NAMESPACE

# Check if service account was removed
kubectl get serviceaccount --namespace $NAMESPACE

# Check if namespace was removed (if it was created during init)
kubectl get namespace $NAMESPACE

Entfernen der Erweiterung „Agentische CLI für AKS“

Entfernen Sie die agentische CLI-Erweiterung für AKS mit dem az extension remove Befehl.

az extension remove --name aks-agent --debug