Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Istio es una malla de servicio de código abierto, que se superpone de forma transparente sobre las aplicaciones distribuidas existentes. Proporciona una manera uniforme y eficaz de proteger, conectar y supervisar los servicios, especialmente en una arquitectura de aplicación distribuida.
Istio ayuda a los desarrolladores a controlar las interacciones entre servicios al proporcionar características como la administración del tráfico, la observabilidad, la seguridad y la aplicación de directivas sin modificar el código de la aplicación. Se usa ampliamente en aplicaciones nativas de nube modernas, especialmente en Kubernetes.
Azure Kubernetes Service (AKS) ahora proporciona un complemento de malla de servicio basado en Istio compatible y probado oficialmente para la integración con AKS y Kubernetes habilitado para Azure Arc.
Con el servicio administrado de Azure Monitor para la característica Prometheus , puede recopilar y analizar métricas a escala. Las métricas de Prometheus se almacenan en áreas de trabajo de Azure Monitor. Las áreas de trabajo admiten herramientas de análisis como Azure Managed Grafana, explorador de métricas de Azure Monitor con PromQL y herramientas de código abierto como PromQL y Grafana.
En este artículo se proporcionan instrucciones paso a paso sobre el uso del servicio administrado de Azure Monitor para Prometheus para recopilar métricas de Istio mediante el complemento de malla de servicio basado en Istio para AKS o para Kubernetes habilitado para Azure Arc. Después, puede visualizar las métricas en Azure Managed Grafana.
Prerrequisitos
CLI de Azure instalada y configurada. Para la instalación o la actualización, consulte Instalación de la CLI de Azure.
Si usa el complemento de malla de servicio basado en Istio para AKS, necesita la versión 2.57.0 o posterior de la CLI de Azure instalada. Puede ejecutar
az --versionpara comprobar la versión.Kubectl instalado para interactuar con el clúster de Kubernetes.
Limitaciones
- Para obtener una lista de las limitaciones con el uso del complemento de malla de servicio basado en Istio para AKS, consulte el artículo de información general sobre el complemento.
- Actualmente, no hay soporte para recopilar métricas de la implementación de Istio con autenticación mutua TLS.
- Actualmente, no hay se admite el uso de la visualización de malla de servicio Kiali con el servicio administrado para Prometheus.
Configura Istio, servicio gestionado para Prometheus y Azure Managed Grafana
Crear un clúster de AKS con un servicio administrado para Prometheus activado
En primer lugar, debe crear un clúster de AKS (o usar uno existente) y habilitar el servicio administrado para Prometheus y Azure Managed Grafana. Para obtener instrucciones, consulte Habilitación de Prometheus y Grafana en un clúster de AKS.
Si usa la CLI de Azure para crear un nuevo clúster de AKS, puede usar estos comandos:
az group create --name myResourceGroup --location eastus
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 2 --enable-azure-monitor-metrics --generate-ssh-keys
Configuración de Istio
Puede usar el servicio administrado para Prometheus para recopilar métricas de Istio de código abierto y del complemento de malla de servicio basado en Istio para AKS:
- Para configurar Istio de código abierto, consulte las guías de instalación de Istio.
- Para configurar el complemento de malla de servicio basado en Istio para AKS, consulte Implementación del complemento de malla de servicio basado en Istio para Azure Kubernetes Service.
Obtención de credenciales de AKS
az account set --subscription <subscription id>
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Configurar servicio gestionado para Prometheus para recopilar métricas de Istio
Para recopilar métricas de la configuración de Istio con el servicio administrado para Prometheus, puede usar anotaciones de pod. Estas anotaciones se configuran automáticamente con Istio. Debe habilitar la extracción basada en anotaciones de pod en el servicio administrado para Prometheus.
Para habilitar la extracción, personalice la asignación de configuración en el servicio administrado para Prometheus (ama-metrics-settings-configmap.yaml) para incluir el espacio de nombres istio-system y los espacios de nombres para la configuración de sidecar de Istio. Por ejemplo, si configura Istio para insertar sidecar en my-namespace, actualice el mapa de configuración de la siguiente manera:
pod-annotation-based-scraping: |-
podannotationnamespaceregex = "aks-istio-system|my-namespace"
Advertencia
La extracción de anotaciones de pods de muchos espacios de nombres puede generar un gran volumen de métricas, dependiendo del número de pods que tengan anotaciones.
Para obtener más información, consulte Habilitar la extracción basada en anotaciones de pods.
Aplique la asignación de configuración actualizada a su clúster AKS:
kubectl apply -f ama-metrics-settings-configmap.yaml
Métricas de consulta de Istio
Las métricas extraídas de Istio se almacenan en el área de trabajo de Azure Monitor asociada al servicio administrado para Prometheus. Puede consultar las métricas directamente desde el área de trabajo o a través de la instancia de Grafana administrada de Azure que está conectada al área de trabajo.
Para ver las métricas de Istio en el área de trabajo de Azure Monitor:
En Azure Portal, vaya al clúster de AKS.
En Supervisión, seleccione Información>Configuración de supervisión.
Seleccione la instancia del área de trabajo de Azure Monitor. En la página de información general de la instancia, seleccione la sección Métricas para consultar las métricas de istio_requests_total.
Como alternativa, puede seleccionar la instancia de Grafana administrada de Azure. A continuación, en la página de información general de la instancia, seleccione la dirección URL del punto de conexión. Esta acción abre el portal de Grafana, donde puede consultar las métricas de Azure Container Storage. El origen de datos se configura automáticamente para que consulte las métricas desde el área de trabajo de Azure Monitor asociada.
Para más información sobre cómo consultar las métricas de Prometheus desde un área de trabajo de Azure Monitor, consulte Conexión de Grafana a métricas de Prometheus de Azure Monitor.
Importación de los paneles de Grafana para Istio
Para importar los siguientes paneles de Grafana mediante el identificador o JSON, siga las instrucciones de Importación de un panel en Grafana:
- Panel del plano de control de Istio (Id. 7645)
- Demostración del SLO del servicio de Istio (id. 21793)
Resumen
En este artículo se muestra cómo configurar el servicio administrado para Prometheus para recopilar métricas del complemento de malla de servicio basado en Istio. A continuación, se muestra cómo consultar las métricas recopiladas en Azure Monitor.
Siguiendo los pasos de este artículo, puede supervisar de forma eficaz Istio mediante el servicio administrado para Prometheus en Azure. Esta supervisión puede proporcionar información valiosa sobre el rendimiento y el comportamiento de las aplicaciones.
Solución de problemas
Si tiene algún problema, consulte la información de solución de problemas de la interfaz de Prometheus.