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.
El modo de gran escala es una característica de Container Insights que permite recopilar registros de consola de contenedor (stdout y stderr) con un alto rendimiento de los nodos de clúster de Azure Kubernetes Service (AKS). Esta característica le permite recopilar hasta 50,000 registros por segundo por nodo.
Overview
Cuando se habilita el modo de gran escala, Container Insights realiza múltiples cambios de configuración que dan como resultado un mayor rendimiento global. Esto incluye el uso de un agente actualizado y una canalización de datos de Azure Monitor con mejoras en la escalabilidad. Estos cambios se realizan en segundo plano Azure Monitor y no requieren entrada ni configuración después de habilitar la característica.
El modo de gran escala afecta solo a la capa de recopilación de datos. El resto de la experiencia de Container Insights sigue siendo la misma, con los registros siendo ingeridos en la misma tabla ContainerLogV2. Las consultas y alertas existentes siguen funcionando desde que se recopilan los mismos datos.
Para lograr el rendimiento máximo de registro admitido, debe usar SKU de máquina virtual de gama alta con 16 núcleos de CPU o más para los nodos del clúster de AKS. El uso de SKU de VM de gama baja afecta el rendimiento de procesamiento de los registros.
¿Mi clúster cumple los requisitos?
La recopilación de registro a gran escala es adecuada para entornos que envían más de 2 000 registros/s (o 2 MB/s) por nodo en sus conjuntos de Kubernetes y ha sido diseñada y probada para enviar hasta 50 000 registros/s por nodo. Use las siguientes consultas sobre registros para determinar si su clúster es adecuado para la recopilación de registros a gran escala.
Registros por segundo y por nodo
ContainerLogV2
| where _ResourceId =~ "<cluster-resource-id>"
| summarize count() by bin(TimeGenerated, 1s), Computer
| render timechart
Tamaño de registro (en MB) por segundo por nodo
ContainerLogV2
| where _ResourceId =~ "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer
| render timechart
Prerequisites
- CLI de Azure versión 2.74.0 o posterior.
- CLI de Azure k8s-extension versión 1.6.7 o posterior si administra Kubernetes habilitado para Azure Arc.
- El esquema de clúster debe configurarse para ContainerLogV2.
- Si los límites de recursos predeterminados (CPU y memoria) en el contenedor de set de dæmon ama-logs no cumplen con tus requisitos de escalado de registros, ponte en contacto con el canal de soporte técnico de Microsoft para aumentar los límites de recursos del contenedor de ama-logs.
Requisitos de firewall de red
Además de los requisitos del firewall de red para la supervisión de un clúster de Kubernetes, se necesitan las configuraciones adicionales de la tabla siguiente para habilitar el modo de gran escala en función de su nube.
| Cloud | Endpoint | Port |
|---|---|---|
| Azure nube pública | <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com |
443 |
| Microsoft Azure operado por la nube de 21Vianet | <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn |
443 |
| Azure Government Cloud | <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us |
443 |
El punto de conexión es el de Ingesta de registro del punto de conexión de recopilación de datos (DCE) para la regla de recopilación de datos (DCR) usada por el clúster. Esta DCE se crea al habilitar el modo de escalado alto para el clúster y comienza con el prefijo MSCI-ingest.
Limitations
No se admiten los escenarios siguientes:
- Proxy HTTP con certificado de confianza
- Incorporación a través del portal de Azure
- Configuración mediante los Ajustes de Monitorización en la experiencia del portal de AKS Insights
- Migración automática desde instancia de Container Insights existente
- Integración mediante Bicep, Terraform y Azure Policy para Kubernetes con Azure Arc habilitado.
Habilitación de la recopilación de registro a gran escala
Siga los dos pasos de las secciones siguientes para habilitar el modo de gran escala para su clúster.
Note
El modo de gran escala de registro requiere un punto de conexión de recopilación de datos (DCE) para ingerirlos. Se crea un DCE de ingesta con el prefijo MSCI-ingest para cada clúster cuando los integras. Si el ámbito del enlace privado de Azure Monitor está configurado, también habrá un DCE de configuración creado con el prefijo MSCI-config.
Actualizar configmap
El primer paso consiste en actualizar el mapa de configuración del clúster para indicar a los pods de deamonset de ama-logs de Container Insights que se ejecuten en modo de gran escala.
Siga las instrucciones de Configuración e implementación de ConfigMap para descargar y actualizar ConfigMap para el clúster.
Habilite el modo de escalado alto con la siguiente configuración en
agent-settings.[agent_settings.high_log_scale] enabled = trueHabilite la recopilación de métricas internas para rellenar el panel de QoS Grafana que se describe a continuación con la siguiente configuración en
agent-settings.[agent_settings.fbit_config] enable_internal_metrics = "true"Aplique ConfigMap al clúster con los siguientes comandos.
kubectl config set-context <cluster-name> kubectl apply -f <configmap_yaml_file.yaml>
Tras aplicar este mapa de configuración, los pods de ama-logs-* se reiniciarán automáticamente y configurarán los pods de daemonset de ama-logs para ejecutarse en modo de gran escala.
Habilitar el modo de gran escala para el complemento de Supervisión
Habilite el complemento de supervisión con el modo de escalado alto mediante los siguientes comandos de CLI de Azure para habilitar el modo de registros a gran escala para el complemento Supervisión en función de la configuración de AKS.
Note
Consulte Enable Container Insights para obtener instrucciones sobre cómo habilitar Container Insights otros métodos, como ARM, Bicep y Terraform. Para habilitar el modo de escalado alto, use Microsoft-ContainerLogV2-HighScale en lugar de Microsoft-ContainerLogV2 en el parámetro streams tal como se describe en Container logs.
Clúster de AKS existente
az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --workspace-resource-id <workspace-resource-id> --enable-high-log-scale-mode
Clúster privado de AKS existente
az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --workspace-resource-id <workspace-resource-id> --enable-high-log-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName>
Nuevo clúster de AKS
az aks create -g <resource-group-name> -n <cluster-name> --enable-addons monitoring --workspace-resource-id <workspace-resource-id> --enable-high-log-scale-mode
Nuevo clúster privado de AKS
Consulte Crear un clúster de Azure Kubernetes Service (AKS) privado para obtener más información sobre cómo crear un clúster privado de AKS. Utilice los parámetros adicionales --enable-high-scale-mode y --ampls-resource-id para configurar el modo de escala alta de registros con el ID de recurso del ámbito de Azure Monitor Private Link.
Clúster habilitado para ARC
az k8s-extension create --name azuremonitor-containers --resource-group <resource-group-name> --cluster-name <cluster-name> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.enableHighLogScaleMode=true logAnalyticsWorkspaceResourceID=<workspace-resource-id>
Migration
Si Container Insights ya está habilitado para el clúster, debe deshabilitarlo y volver a habilitarlo con el modo de escalado alto.
- Dado que el modo de gran escala usa una canalización de datos diferente, debe asegurarse de que los puntos de conexión de canalización no estén bloqueados por un firewall u otras conexiones de red.
- El modo de gran escala requiere un punto de conexión para la ingesta de datos (DCE) además del DCR estándar para la recopilación de datos. Si ha creado cualquier DCR que use
Microsoft-ContainerLogV2, debe reemplazarlo porMicrosoft-ContainerLogV2-HighScaleo los datos se duplicarán. También debe crear un DCE para la ingesta y vincularlo al DCR si el DCR aún no usa uno. Consulte la incorporación de Container Insights como referencia de las dependencias a través de Azure Resource Manager.
Supervisión de métricas de QoS con Prometheus y Grafana
Cuando el volumen de registros generado es sustancial, puede provocar una limitación y una pérdida de registro. Consulte el artículo Configuración de la limitación para Container Insights para obtener instrucciones sobre cómo configurar los parámetros de limitación y la supervisión de la pérdida de registros.