Configuración de la Observabilidad de red para Azure Kubernetes Service (AKS): BYO Prometheus y Grafana

La Observabilidad de red de AKS se usa para recopilar los datos de tráfico de red del clúster de AKS. La Observabilidad de red proporciona una plataforma centralizada para supervisar el estado de la red y la aplicación. Prometheus recopila métricas de observabilidad de red de AKS y Grafana las visualiza. Se admiten los planos de datos de Cilium y los que no son de Cilium. En este artículo, aprenderá a habilitar el complemento Observabilidad de red y a usar BYO Prometheus y Grafana para visualizar las métricas que se extraen.

Nota:

A partir de la versión 1.29 de Kubernetes, la característica de observabilidad de red ya no admite Bring Your Own (BYO) Prometheus y Grafana. Sin embargo, todavía puede habilitarlo mediante la oferta de Prometheus y Grafana administrada por Azure

Importante

La observabilidad de red de AKS se encuentra actualmente en VERSIÓN PRELIMINAR. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

Para más información sobre la observabilidad de red de AKS, consulte ¿Qué es observabilidad de red de Azure Kubernetes Service (AKS)?

Requisitos previos

  • La versión mínima de la CLI de Azure necesaria para los pasos de este artículo es la 2.44.0. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Instalación de la extensión de la CLI de Azure 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 la 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:

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

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

Registro de la marca de característica NetworkObservabilityPreview

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

Use az feature show para comprobar el estado de registro de la marca de característica:

az feature show --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

Espere a que la característica diga Registrado antes de continuar con el artículo.

{
  "id": "/subscriptions/23250d6d-28f0-41dd-9776-61fc80805b6e/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/NetworkObservabilityPreview",
  "name": "Microsoft.ContainerService/NetworkObservabilityPreview",
  "properties": {
    "state": "Registering"
  },
  "type": "Microsoft.Features/providers/features"
}

Cuando la característica esté registrada, actualice el registro del proveedor de recursos Microsoft.ContainerService con az provider register:

az provider register -n Microsoft.ContainerService

Crear un grupo de recursos

Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Para crear un grupo de recursos, use el comando az group create. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus:

az group create \
    --name myResourceGroup \
    --location eastus

Creación de un clúster de AKS

Cree un clúster de AKS con el comando az aks create. En el ejemplo siguiente, se crea un clúster de AKS denominado myAKSCluster en el grupo de recursos myResourceGroup:

Los clústeres que no son de Cilium admiten la habilitación de la Observabilidad de red en un clúster existente o durante la creación de un nuevo clúster.

Nuevo clúster

Use az aks create en el ejemplo siguiente para crear un clúster de AKS con Observabilidad de red y que no es de Cilium.

az aks create \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --location eastus \
    --generate-ssh-keys \
    --network-plugin azure \
    --network-plugin-mode overlay \
    --pod-cidr 192.168.0.0/16 \
    --enable-network-observability

Clúster existente

Use az aks update para habilitar la Observabilidad de red para un clúster existente.

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --enable-network-observability 

Obtener credenciales del clúster

az aks get-credentials --name myAKSCluster --resource-group myResourceGroup

Habilitación de la visualización en Grafana

Use el ejemplo siguiente para configurar trabajos de extracción en Prometheus y habilitar la visualización en Grafana para el clúster de AKS.

Nota

En la sección siguiente se requieren instalaciones de Prometheus y Grafana.

  1. Agregue el siguiente trabajo de extracción a la configuración de Prometheus existente y reinicie el servidor de Prometheus:

    scrape_configs:
      - job_name: "network-obs-pods"
        kubernetes_sd_configs:
          - role: pod
        relabel_configs:
          - source_labels: [__meta_kubernetes_pod_container_name]
            action: keep
            regex: kappie(.*)
          - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
            separator: ":"
            regex: ([^:]+)(?::\d+)?
            target_label: __address__
            replacement: ${1}:${2}
            action: replace
          - source_labels: [__meta_kubernetes_pod_node_name]
            action: replace
            target_label: instance
        metric_relabel_configs:
          - source_labels: [__name__]
            action: keep
            regex: (.*)
    
  2. En Destinos de Prometheus, compruebe que los pods de red estén presentes.

  3. Inicie sesión en Grafana e importe el panel de Observabilidad de red con el identificador 18814.

Limpieza de recursos

Si no va a seguir usando esta aplicación, elimine el clúster de AKS y los demás recursos creados en este artículo con el ejemplo siguiente:

  az group delete \
    --name myResourceGroup

Pasos siguientes

En este artículo de procedimientos, ha aprendido a instalar y habilitar la Observabilidad de red de AKS para el clúster de AKS.