Compartir a través de


Supervisar las métricas del plano de control de Azure Kubernetes Service (AKS) (versión preliminar)

En este artículo, aprenderá a utilizar la función de métricas del plano de control (versión preliminar) para supervisar el plano de control de Azure Kubernetes Service (AKS).

La característica de métricas del plano de control es totalmente compatible con Prometheus y Grafana. La característica proporciona más visibilidad sobre la disponibilidad y el rendimiento de los componentes del plano de control, como el servidor de API, ETCD, Scheduler, Autoscaler y el administrador del controlador. Puede usar estas métricas para maximizar la observabilidad general y mantener la excelencia operativa para el clúster de AKS.

Requisitos previos y limitaciones

Instale la extensión aks-preview

Importante

Las características en versión preliminar de AKS están disponibles como opción de participación y 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 reciben cobertura parcial del soporte 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:

  • Instale o actualice la extensión de la CLI de Azure aks-preview mediante el comando az extension add o az extension update.

    # Install the aks-preview extension
    az extension add --name aks-preview
    
    # Update the aks-preview extension
    az extension update --name aks-preview
    

Registrar la marca AzureMonitorMetricsControlPlanePreview

  1. Registre la marca de características de AzureMonitorMetricsControlPlanePreview mediante el comando az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    

    Tarda unos minutos en que el estado muestre Registrado.

  2. Comprobar el estado del registro mediante el comando az feature show.

    az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    
  3. Cuando aparezca el estado Registrado, actualice el registro del proveedor de recursos Microsoft.ContainerService mediante el comando az provider register.

    az provider register --namespace "Microsoft.ContainerService"
    

Habilitación de las métricas del plano de control en el clúster de AKS

Puede habilitar las métricas del plano de control con el complemento del servicio administrado de Azure Monitor para Prometheus al crear un nuevo clúster o actualizar un clúster existente.

Nota:

A diferencia de las métricas obtenidas de los nodos del clúster, las métricas del plano de control son obtenidas por un componente que no forma parte del complemento ama-metrics. Habilitar la marca de características AzureMonitorMetricsControlPlanePreview y el complemento Prometheus administrado garantiza que se recopilen las métricas del plano de control. Después de habilitar la recopilación de métricas, los datos pueden tardar varios minutos en aparecer en el área de trabajo.

Habilitación de las métricas del plano de control en un nuevo clúster de AKS

Habilitar las métricas del plano de control en un clúster de AKS existente

  • Si el clúster ya tiene el complemento Prometheus, actualice el clúster para asegurarse de que comienza a recopilar métricas del plano de control mediante el comando az aks update.

    az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

Métricas del plano de control de consulta

Las métricas del plano de control se almacenan en un área de trabajo de Azure Monitor en la región del clúster. Puede consultar las métricas directamente desde el área de trabajo o a través de la instancia de Azure Managed Grafana conectada al área de trabajo.

  1. En el Azure Portal, vaya al recurso de clúster de AKS.

  2. En el menú de servicios, en Supervisión, seleccione Insights.

    Recorte de pantalla del área de trabajo de Azure Monitor.

Nota:

AKS proporciona plantillas de cuadros de mando para ayudarle a ver y analizar los datos de telemetría de su plano de control en tiempo real. Si usa Azure Managed Grafana para visualizar los datos, puede importar los siguientes paneles:

Personalización de las métricas del plano de control

Advertencia

Un error impide personalizar las métricas de los componentes del plano de control AKS. Los cambios en configMap no surten efecto. Siga este problema problema para las actualizaciones.

AKS incluye un conjunto preconfigurado de métricas para recopilar y almacenar para cada componente. API server y etcd están habilitados de forma predeterminada. Puede personalizar esta lista a través de ama-settings-configmap.

Los destinos predeterminados incluyen los siguientes valores:

controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true

Todos los objetos ConfigMap deben aplicarse al espacio de nombres kube-system de cualquier clúster.

Personalizar el perfil de ingesta

Para obtener más información sobre las métricas de perfil minimal-ingestion, consulte Perfil de ingesta mínimo para las métricas del plano de control en Prometheus administrado.

Ingesta solo de métricas mínimas de destinos predeterminados

  • Establezca default-targets-metrics-keep-list.minimalIngestionProfile="true", que ingiere solo el conjunto mínimo de métricas para cada uno de los objetivos por defecto: controlplane-apiserver y controlplane-etcd.

Ingesta de todas las métricas de todos los destinos

  1. Descargue el archivo ConfigMap ama-metrics-settings-configmap.yaml y cambie su nombre por configmap-controlplane.yaml.

  2. Establezca minimalingestionprofile = false.

  3. En default-scrape-settings-enabled, compruebe que los destinos que desea extraer están establecidos en true. Los únicos destinos que puede especificar son: controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler, controlplane-kube-controller-manager y controlplane-etcd.

  4. Aplique ConfigMap mediante el comando kubectl apply.

    kubectl apply -f configmap-controlplane.yaml
    

    Tras aplicar la configuración, las métricas de los objetivos especificados extraídas del plano de control tardan varios minutos en aparecer en el área de trabajo de Azure Monitor.

Ingesta de algunas otras métricas además de las métricas mínimas

La configuración minimal ingestion profile ayuda a reducir el volumen de ingesta de métricas, ya que solo recopila las métricas usadas por los paneles predeterminados, las reglas de grabación predeterminadas y las alertas predeterminadas se recopilan.

  1. Descargue el archivo ConfigMap ama-metrics-settings-configmap y cambie su nombre por configmap-controlplane.yaml.

  2. Establezca minimalingestionprofile = true.

  3. En default-scrape-settings-enabled, compruebe que los destinos que desea extraer están establecidos en true. Los únicos destinos que puede especificar son: controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler, controlplane-kube-controller-manager y controlplane-etcd.

  4. En default-targets-metrics-keep-list, especifique la lista de métricas para los destinos de true. Por ejemplo:

    controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
    
  5. Aplique ConfigMap mediante el comando kubectl apply.

    kubectl apply -f configmap-controlplane.yaml
    

    Tras aplicar la configuración, las métricas de los objetivos especificados extraídas del plano de control tardan varios minutos en aparecer en el área de trabajo de Azure Monitor.

Ingesta solo de métricas específicas de algunos destinos

  1. Descargue el archivo ConfigMap ama-metrics-settings-configmap y cambie su nombre por configmap-controlplane.yaml.

  2. Establezca minimalingestionprofile = false.

  3. En default-scrape-settings-enabled, compruebe que los destinos que desea extraer están establecidos en true. Los únicos destinos que puede especificar son: controlplane-apiserver, controlplane-cluster-autoscaler, controlplane-kube-scheduler, controlplane-kube-controller-manager y controlplane-etcd.

  4. En default-targets-metrics-keep-list, especifique la lista de métricas para los destinos de true. Por ejemplo:

    controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
    
  5. Aplique ConfigMap mediante el comando kubectl apply.

    kubectl apply -f configmap-controlplane.yaml
    

    Tras aplicar la configuración, las métricas de los objetivos especificados extraídas del plano de control tardan varios minutos en aparecer en el área de trabajo de Azure Monitor.

Solución de problemas de métricas del plano de control

Asegúrese de que la marca de característica AzureMonitorMetricsControlPlanePreview está habilitada y que los pods ama-metrics se están ejecutando.

Nota:

Los métodos de solución de problemas para el servicio administrado de Azure Prometheus no se traducen directamente aquí, ya que los componentes que extraen el plano de control no están presentes en el complemento Prometheus administrado.

  • Formato ConfigMap: asegúrese de que está utilizando el formato adecuado en el ConfigMap y que los campos, específicamente default-targets-metrics-keep-list, minimal-ingestion-profile, y default-scrape-settings-enabled, están correctamente rellenados con sus valores previstos.
  • Aislar el plano de control del plano de datos: comience por establecer algunas de las métricas relacionadas con el nodo a true y verifique que las métricas se reenvían al área de trabajo. Esto ayuda a determinar si el problema es específico de la extracción de métricas del plano de control.
  • Ingesta de eventos: una vez aplicados los cambios, puede abrir el explorador de métricas desde la página de Información general de Azure Monitor o desde la sección Supervisión del clúster seleccionado y comprobar si ha aumentado o disminuido el número de eventos ingeridos por minuto. Debe ayudarle a determinar si falta una métrica específica o si faltan todas las métricas.
  • Una métrica específica no está expuesta: hay casos en los que las métricas están documentadas, pero no están expuestas desde el destino y no se reenvían al área de trabajo de Azure Monitor. En este caso, es necesario comprobar que se reenvían otras métricas al área de trabajo.
  • Sin acceso al área de trabajo de Azure Monitor: al habilitar el complemento, es posible que especifique un área de trabajo existente a la que no tiene acceso. En ese caso, podría parecer que las métricas no se recopilan y reenvían. Asegúrese de crear un área de trabajo al habilitar el complemento o al crear el clúster.

Deshabilitación de las métricas del plano de control en el clúster de AKS

Puede deshabilitar las métricas del plano de control en cualquier momento deshabilitando el complemento Prometheus administrado y anulando el registro de la marca de característica AzureMonitorMetricsControlPlanePreview.

  1. Quite el complemento de métricas que extrae las métricas de Prometheus mediante el comando az aks update.

    az aks update --disable-azure-monitor-metrics --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    
  2. Deshabilite la extracción de métricas del plano de control en el clúster de AKS anulando el registro de la marca de característica AzureMonitorMetricsControlPlanePreview mediante el comando az feature unregister.

    az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    

Preguntas más frecuentes

¿Puedo extraer métricas del plano de control con Prometheus autohospedado?

No, actualmente no se pueden extraer métricas del plano de control con Prometheus autohospedado. Prometheus autohospedado solo puede extraer la instancia única en función del equilibrador de carga. Las métricas no son confiables, ya que a menudo hay varias réplicas de las métricas del plano de control que solo son visibles a través de Prometheus administrado

¿Por qué no está disponible el agente de usuario a través de las métricas del plano de control?

Las métricas del plano de control en Kubernetes no tienen el agente de usuario. El agente de usuario solo está disponible a través de los registros del plano de control disponibles en la configuración de diagnóstico.

Pasos siguientes

Para obtener más información sobre la supervisión de AKS, consulte Supervisión del servicio Azure Kubernetes (AKS).