Configuración de la Network Observability para Azure Kubernetes Service (AKS): Administración de Azure 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 de observabilidad de red y a usar Prometheus y Grafana administrados por Azure para visualizar las métricas descartadas.
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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- 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.
Creación de un clúster
Nota:
Para la versión de Kubernetes >= 1.29, la Network Observability se incluye en clústeres con Azure Managed Prometheus. La extracción de métricas se define a través del Perfil de métricas AMA.
Para versiones inferiores de Kubernetes, se requieren pasos adicionales para habilitar la Network Observability.
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 az aks create. En los ejemplos siguientes se crea un clúster de AKS denominado myAKSCluster en el myResourceGroup grupo de recursos.
Ejemplo 1: No Cilium
Use az aks create en el ejemplo siguiente para crear un clúster de AKS que no sea 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 \
--kubernetes-version 1.29
Ejemplo 2: Cilium
Use az aks create en el ejemplo siguiente para crear un clúster de AKS de Cilium.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--generate-ssh-keys \
--location eastus \
--max-pods 250 \
--network-plugin azure \
--network-plugin-mode overlay \
--network-dataplane cilium \
--node-count 2 \
--pod-cidr 192.168.0.0/16
Prometheus y Grafana administrados por Azure
Use el ejemplo siguiente para instalar y habilitar Prometheus y Grafana para el clúster de AKS.
Creación de un recurso de Azure Monitor
az resource create \
--resource-group myResourceGroup \
--namespace microsoft.monitor \
--resource-type accounts \
--name myAzureMonitor \
--location eastus \
--properties '{}'
Crear una instancia de Grafana
Use az grafana create para crear una instancia de Grafana. El nombre de la instancia de Grafana debe ser único. Reemplace myGrafana por un nombre único para la instancia de Grafana.
az grafana create \
--name myGrafana \
--resource-group myResourceGroup
Colocar los identificadores de recursos de Grafana y Azure Monitor en variables
Use az grafana show para colocar el id. de recurso de Grafana en una variable. Use az resource show para colocar el id. de recurso de Azure Monitor en una variable. Reemplace myGrafana por el nombre único de la instancia de Grafana.
grafanaId=$(az grafana show \
--name myGrafana \
--resource-group myResourceGroup \
--query id \
--output tsv)
azuremonitorId=$(az resource show \
--resource-group myResourceGroup \
--name myAzureMonitor \
--resource-type "Microsoft.Monitor/accounts" \
--query id \
--output tsv)
Vinculación de Azure Monitor y Grafana al clúster de AKS
Use az aks update para vincular los recursos de Azure Monitor y Grafana al clúster de AKS.
az aks update \
--name myAKSCluster \
--resource-group myResourceGroup \
--enable-azure-monitor-metrics \
--azure-monitor-workspace-resource-id $azuremonitorId \
--grafana-resource-id $grafanaId
Obtener credenciales del clúster
az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Visualización mediante Grafana
Nota:
En la sección siguiente, se requieren implementaciones de Prometheus y Grafana administrados por Azure.
Use el ejemplo siguiente para comprobar que los pods de Azure Monitor se están ejecutando.
kubectl get po -owide -n kube-system | grep ama-
ama-metrics-5bc6c6d948-zkgc9 2/2 Running 0 (21h ago) 26h ama-metrics-ksm-556d86b5dc-2ndkv 1/1 Running 0 (26h ago) 26h ama-metrics-node-lbwcj 2/2 Running 0 (21h ago) 26h ama-metrics-node-rzkzn 2/2 Running 0 (21h ago) 26h ama-metrics-win-node-gqnkw 2/2 Running 0 (26h ago) 26h ama-metrics-win-node-tkrm8 2/2 Running 0 (26h ago) 26h
Vaya a la instancia de Grafana en un explorador web.
Hemos creado un panel de ejemplo. Puede encontrarse en Paneles >de Azure Managed Prometheus > Kubernetes/Networking/Clusters.
Compruebe si las métricas del panel de Kubernetes/ Networking/Clusters Grafana están visibles. Si no se muestran las métricas, cambie el intervalo de tiempo a los últimos 15 minutos en el cuadro desplegable superior derecho.
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 configurar la Network Observability de AKS para el clúster de AKS.
Para más información sobre la observabilidad de red de AKS, consulte ¿Qué es observabilidad de red de Azure Kubernetes Service (AKS)?
Si está interesado en la Network Observability más granular y otras características avanzadas, consulte ¿Qué es Advanced Container Networking Services para Azure Kubernetes Service (AKS)?.
Azure Kubernetes Service