Instalación y uso de la CLI agente para Azure Kubernetes Service (AKS) (versión preliminar)

En este artículo se muestra cómo instalar, configurar y usar la CLI agente para Azure Kubernetes Service (AKS) en modo de cliente o modo de clúster para obtener información y solución de problemas con tecnología de IA para los clústeres de AKS.

Para obtener más información, consulte la CLI de Agentic para AKS: Información general sobre AKS.

Importante

Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Prerrequisitos

  • Cli de Azure versión 2.76 o posterior. Compruebe la versión con el comando az version. Para instalar o actualizar, consulte Instalación de la CLI de Azure.

  • Tener una clave de API para un modelo de lenguaje extenso (LLM). Debe traer su propia clave de API de uno de los proveedores admitidos:

    • Azure OpenAI (recomendado)
    • OpenAI u otros proveedores de LLM compatibles con las especificaciones de OpenAPI
  • Establezca la suscripción de Azure activa mediante el az account set comando .

    az account set --subscription "your-subscription-id-or-name"
    
  • Versión 1.0.0b16 o posterior de la extensión de la CLI de Azure aks-agent, que proporciona la CLI de agente para la funcionalidad de AKS. Puede instalar o actualizar la extensión mediante la CLI de Azure.

  • Docker instalado y en ejecución en el equipo local. Para obtener instrucciones de instalación, consulte Introducción a Docker.
  • Asegúrese de que el demonio de Docker esté iniciado y ejecutándose antes de continuar con la instalación.
  • Asegúrese de que las credenciales de Azure están configuradas correctamente y tiene los permisos necesarios para acceder a los recursos del clúster.

Instalación de la CLI agentic para la extensión de AKS

  1. Instale la CLI agentic para la extensión de AKS mediante el az extension add comando . Si la extensión ya está instalada, puede actualizar a la versión más reciente con el az extension update comando . Este paso puede tardar entre 5 y 10 minutos en completarse.

    # Install the extension
    az extension add --name aks-agent --debug
    
    # Update the extension
    az extension update --name aks-agent --debug
    
  2. Compruebe la instalación correcta mediante el az extension list comando .

    az extension list
    

    La salida debe incluir una entrada para aks-agent.

  3. Compruebe que la CLI de agente para los comandos de AKS está disponible. Para ello, ejecute el comando [az aks agent][/cli/azure/aks#az-aks-agent] con el parámetro --help.

    az aks agent --help
    

    La salida debe mostrar aks-agent con su información de versión en la sección extensions. Por ejemplo:

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

Configura tu clave de API de LLM

Antes de continuar con la instalación, debe configurar la clave de API de LLM. Se recomienda usar modelos más recientes como GPT-5 o Claude Opus MINI para mejorar el rendimiento. Asegúrese de seleccionar un modelo con un tamaño de contexto alto de al menos 128 000 tokens o superior.

  1. Cree un recurso de Azure OpenAI.
  2. Implemente el modelo. Para el nombre de implementación, use el mismo nombre que el nombre del modelo, como gpt-4o o gpt-4o-mini, en función del acceso. Puede usar cualquier región en la que tenga acceso y cuota para el modelo. En la implementación, seleccione un límite de token por minuto (TPM) lo más alto posible. Se recomienda un aumento de 1 millón de TPM para un buen rendimiento.
  3. Una vez completada la implementación, anote la dirección URL base de la API y la clave de API. La versión de la API no es la versión del modelo. Puede usar cualquier versión de API disponible y compatible en Azure OpenAI en Microsoft Foundry Models v1 API. La base de API de Azure hace referencia al punto de conexión de Azure OpenAI (que normalmente termina en openai.azure.com/), no al URI de destino de la implementación en Foundry.

Azure OpenAI con el identificador de Microsoft Entra (autenticación sin claves)

Al seleccionar "Azure Open AI (Microsoft Entra ID)" como proveedor de LLM, puede configurar la autenticación sin claves mediante el identificador de Microsoft Entra. Con esta opción, no es necesario proporcionar una clave de API. En su lugar, este método de autenticación requiere las siguientes asignaciones de roles:

  • Modo de cliente: a las credenciales locales de la CLI de Azure se les debe asignar el rol usuario de Cognitive Services o usuario de Azure AI en el recurso de Azure OpenAI.
  • Modo de clúster: a la identidad de carga de trabajo se le debe asignar el rol usuario de Cognitive Services o usuario de Azure AI en el recurso de Azure OpenAI.

Otros proveedores de LLM

Si usa otro proveedor compatible con OpenAI, siga su documentación para obtener instrucciones sobre cómo crear una cuenta y recuperar la clave de API.

Verificar la instalación de Docker e iniciar el servicio de Docker

  1. Compruebe que Docker está instalado y que el daemon de Docker está corriendo con los siguientes comandos:

    docker --version
    docker ps
    
  2. Si recibe un error que indica que el demon de Docker no se está ejecutando, inicie el servicio Docker mediante los pasos adecuados para el sistema operativo:

    • macOS/Windows:

      • Inicie Docker Desktop desde las aplicaciones.
      • Espere a que Se inicie Docker.
    • linux:

      • Inicie el servicio docker con los siguientes comandos:

        sudo systemctl start docker
        sudo systemctl enable docker  # Enable Docker to start on boot
        
  3. Compruebe que Docker se está ejecutando con el comando siguiente:

    docker info
    

    Este comando debe devolver información del sistema de Docker sin errores.

Inicializar el modo de cliente

  1. Inicialice la CLI agente con el modo de cliente mediante el az aks agent-init comando . Asegúrese de reemplazar los valores de marcador de posición por el nombre real del grupo de recursos y del clúster.

    az aks agent-init --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. Cuando se le pida que seleccione un modo de implementación, escriba 2 para el modo de cliente.

    🚀 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. Configure los detalles del proveedor de LLM. Por ejemplo:

    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.
    

    Nota:

    La clave de API se muestra vacía mientras escribe, como medida de seguridad. Asegúrese de escribir la clave de API correcta.

  4. Compruebe que la inicialización se realizó correctamente. El agente extrae automáticamente las imágenes de Docker necesarias al ejecutar el primer comando.

Inicialización del modo de clúster

  1. Inicialice la CLI agente con el modo de clúster mediante el az aks agent-init comando . Asegúrese de reemplazar los valores de marcador de posición por el nombre real del grupo de recursos y del clúster.

    az aks agent-init --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. Cuando se le pida que seleccione un modo de implementación, escriba 1 para el modo de clúster.

    🚀 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. Cuando se le pida que especifique el espacio de nombres de destino, escriba el espacio de nombres donde creó la cuenta de servicio. En el ejemplo siguiente se usa your-namespace como marcador de posición. Asegúrese de reemplazarlo por el espacio de nombres real que usó.

    ✅ 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. Configure los detalles del proveedor de LLM. Por ejemplo:

    📦 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. Proporcione los detalles de la cuenta de servicio mediante la cuenta de servicio de Kubernetes que creó para la implementación del agente. En el ejemplo siguiente se usa aks-mcp como marcador de posición para el nombre de la cuenta de servicio. Asegúrese de reemplazarlo por el nombre real de la cuenta de servicio.

    👤 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. Espere a que finalice la implementación. La inicialización despliega el agente usando Helm.

    🚀 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. Verifique la implementación exitosa y compruebe el estado del agente utilizando el comando az aks agent con el parámetro --status.

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

    La salida debe indicar que el agente está listo y en ejecución, similar al siguiente:

    📊 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!
    

    Nota:

    También puede comprobar si la implementación ha sido correcta. Para ello, compruebe los pods e implementaciones en el espacio de nombres de destino mediante kubectl:

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

Uso del CLI agentic para AKS

Una vez inicializado, puede usar la CLI agente para AKS para solucionar problemas de los clústeres y obtener información inteligente mediante consultas de lenguaje natural. La sintaxis y la funcionalidad de los comandos son las mismas para el modo de cliente y el modo de clúster, excepto para los --mode parámetros y --namespace . El modo de clúster es el modo de implementación predeterminado, por lo que solo debe especificarse --mode client al usar el modo de cliente. Para el modo de clúster, debe especificar el --namespace parámetro con el espacio de nombres donde se implementa el agente.

Consultas básicas

Nota:

Si tiene varios modelos configurados, puede especificar el modelo que se usará para cada consulta mediante el --model parámetro . Por ejemplo: --model=azure/gpt-4o.

A continuación se muestran ejemplos de consultas básicas que puede ejecutar con la CLI agente para AKS en modo de cliente:

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

A continuación se muestran ejemplos de consultas básicas que puede ejecutar con la CLI agente para AKS en modo de clúster:

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

De forma predeterminada, la experiencia usa el modo interactivo para que pueda seguir haciendo preguntas manteniendo el contexto hasta que quiera finalizar. Para dejar la experiencia, escriba /exit.

Parámetros de comando

El az aks agent comando tiene varios parámetros que permiten personalizar la experiencia de solución de problemas. En la tabla siguiente se describen los parámetros clave que puede usar al ejecutar las consultas:

Parámetro Description
--max-steps Número máximo de pasos que el LLM puede realizar para investigar el problema. Valor predeterminado: 40.
--mode El modo decide cómo se despliega el agente. Valores permitidos: client, cluster. Predeterminado: cluster.
--model Especifique el proveedor de LLM y el modelo o la implementación que se van a usar para el asistente de IA.
--name, -n Nombre del clúster administrado. (Requerido)
--namespace Espacio de nombres de Kubernetes donde se implementa el agente de AKS. Obligatorio para el modo de clúster.
--no-echo-request Deshabilitar la repetición de la pregunta proporcionada al agente AKS en la salida.
--no-interactive Deshabilite el modo interactivo. Cuando se establece, el agente no solicitará la entrada y se ejecutará en modo batch.
--refresh-toolsets Actualice el estado de los conjuntos de herramientas.
--resource-group, -g Nombre del grupo de recursos. (Requerido)
--show-tool-output Muestra la salida de cada herramienta que fue llamada.
--status Mostrar información de estado y configuración del agente de AKS.

Especificación del modelo

El --model parámetro determina qué LLM y proveedor analizan el clúster. Por ejemplo:

  • OpenAI: use el nombre del modelo directamente (por ejemplo, gpt-4o).
  • Azure OpenAI: Use azure/<deployment name> (por ejemplo, azure/gpt-4o).
  • Anthropic: use anthropic/claude-sonnet-4.

Comandos interactivos

az aks agent tiene un conjunto de subcomandos que ayudan a la experiencia de solución de problemas. Para acceder a ellos, escriba / dentro de la experiencia del modo interactivo.

En la tabla siguiente se describen los comandos interactivos disponibles:

Command Description
/exit Deje el modo interactivo.
/help Mostrar mensajes de ayuda con todos los comandos.
/clear Borre la pantalla y restablezca el contexto de conversación.
/tools Muestra los conjuntos de herramientas disponibles y su estado.
/auto Cambie la presentación de las salidas de la herramienta después de las respuestas.
/last Mostrar todos los resultados de la herramienta a partir de la última respuesta.
/run Ejecute un comando de Bash y, opcionalmente, compártalo con LLM.
/shell Entra al shell interactivo y, opcionalmente, comparte la sesión con LLM.
/context Muestra el tamaño del contexto de conversación y el recuento de tokens.
/show Mostrar la salida de la herramienta específica en una vista desplazable.
/feedback Proporcione comentarios sobre la respuesta del agente.

Deshabilitar el modo interactivo

Puede deshabilitar el modo interactivo usando la marca --no-interactive con su comando. Por ejemplo:

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

Conjuntos de herramientas

La CLI agente para AKS incluye integraciones precompiladas para herramientas populares de supervisión y observabilidad a través de conjuntos de herramientas. Algunas integraciones funcionan automáticamente con Kubernetes. Otras integraciones requieren claves de API o configuración.

Para AKS, hay conjuntos de herramientas específicos que ayudan con la experiencia de solución de problemas. Estos conjuntos de herramientas aparecen en la salida al principio de la experiencia:

...
✅ 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`

Integración del servidor MCP de AKS

El servidor del protocolo de contexto de modelo (MCP) de AKS está habilitado de forma predeterminada con la CLI del agente para AKS. Esta experiencia pone en marcha el servidor MCP de AKS localmente (o en el clúster con modo de clúster) y lo usa como origen para la telemetría.

Limpiar la implementación de la CLI del agente

Limpie su implementación en modo cliente usando el comando az aks agent-cleanup y el parámetro --mode client. Este comando quita el archivo de configuración local y restablece la configuración del agente.

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

Limpie la implementación del modo de clúster mediante el comando az aks agent-cleanup. Asegúrese de especificar el --namespace parámetro con el espacio de nombres donde se implementa el agente. Este comando elimina el pod del agente del espacio de nombres especificado y borra la configuración de LLM almacenada en el clúster.

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

Verificar limpieza exitosa

Compruebe que el archivo de configuración local y las imágenes de Docker se quitaron mediante los siguientes comandos:

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

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

Compruebe que el pod del agente y los recursos relacionados se hayan quitado del clúster mediante los siguientes comandos con el espacio de nombres adecuado:

# 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

Eliminar la CLI de agente para la extensión AKS

Elimine la CLI de agente para la extensión AKS mediante el comando az extension remove.

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