Información del contenedor de Azure Monitor para clústeres de Kubernetes habilitado para Azure Arc
Información del contenedor de Azure Monitor proporciona una experiencia de supervisión enriquecida para clústeres de Kubernetes habilitado para Azure Arc.
Configuraciones admitidas
- Información del contenedor de Azure Monitor admite la supervisión de Kubernetes habilitado para Azure Arc tal y como se describe en el artículo Introducción, excepto para la característica de datos en directo. Además, no es necesario que los usuarios tengan permisos de Propietario para habilitar las métricas.
Docker
,Moby
y entornos en tiempos de ejecución de contenedor compatibles con CRI, comoCRI-O
ycontainerd
.- Se admiten un proxy de salida sin autenticación y un proxy de salida con autenticación básica. Actualmente no se admite un proxy de salida que espera certificados de confianza.
Nota
Si va a migrar desde Información del contenedores en Azure Red Hat OpenShift v4.x, asegúrese también de que ha deshabilitado la supervisión antes de continuar con la configuración de Información del contenedores en Kubernetes habilitado para Azure Arc para evitar problemas de instalación.
Requisitos previos
Requisitos previos incluidos en la documentación genérica sobre extensiones de clúster.
Área de trabajo de Log Analytics. Azure Monitor Container Insights admite un área de trabajo de Log Analytics en las regiones que se enumeran en la página de productos por región de Azure. Puede crear un área de trabajo propia mediante Azure Resource Manager, PowerShell o Azure Portal.
Asignación de rol Colaborador en la suscripción de Azure que contiene el recurso de Kubernetes habilitado para Azure Arc. Si el área de trabajo Log Analytics estuviera en otra suscripción, se necesitará la asignación de roles Colaborador de Log Analytics en el grupo de recursos que contenga el área de trabajo de Log Analytics
Para ver los datos de supervisión, debe tener la asignación de roles Lector de Log Analytics en el área de trabajo de Log Analytics.
Los siguientes puntos de conexión deben estar habilitados para el acceso de salida, además de los requisitos de la red de Kubernetes habilitada para Azure Arc.
Nube pública de Azure
Punto de conexión Port *.ods.opinsights.azure.com
443 *.oms.opinsights.azure.com
443 dc.services.visualstudio.com
443 *.monitoring.azure.com
443 login.microsoftonline.com
443 En la tabla siguiente se muestra la configuración de firewall adicional necesaria para la autenticación de identidad administrada.
Recurso del agente Propósito Port global.handler.control.monitor.azure.com
Access Control Service 443 <cluster-region-name>.handler.control.monitor.azure.com
Captura de reglas de recopilación de datos para un clúster de AKS específico 443 Nube de Azure Government
Si el recurso de Kubernetes habilitado para Azure Arc está en el entorno de Azure US Government, es necesario habilitar los puntos de conexión siguientes para el acceso de salida:
Punto de conexión Port *.ods.opinsights.azure.us
443 *.oms.opinsights.azure.us
443 dc.services.visualstudio.com
443 En la tabla siguiente se muestra la configuración de firewall adicional necesaria para la autenticación de identidad administrada.
Recurso del agente Propósito Port global.handler.control.monitor.azure.cn
Access Control Service 443 <cluster-region-name>.handler.control.monitor.azure.cn
Captura de reglas de recopilación de datos para un clúster de AKS específico 443 Si usa un clúster habilitado para Arc en AKS y la supervisión instalada anteriormente para AKS, asegúrese de que ha deshabilitado la supervisión antes de continuar para evitar problemas durante la instalación de la extensión.
Si anteriormente implementó Azure Monitor Container Insights en este clúster mediante script sin extensiones de clúster, siga las instrucciones que se indican aquí para eliminar este gráfico de Helm. Después, puede continuar con la creación de una instancia de la extensión de clúster para Container Insights de Azure Monitor.
Identificación del id. del recurso de área de trabajo
Ejecute los siguientes comandos para buscar el identificador completo de Azure Resource Manager del área de trabajo de Log Analytics.
Enumere todas las suscripciones a las que tiene acceso con el siguiente comando:
az account list --all -o table
Cambie a la suscripción que hospeda el área de trabajo de Log Analytics con el siguiente comando:
az account set -s <subscriptionId of the workspace>
En el ejemplo siguiente se muestra la lista de áreas de trabajo de sus suscripciones en el formato JSON predeterminado.
az resource list --resource-type Microsoft.OperationalInsights/workspaces -o json
En la salida, busque el nombre del área de trabajo de interés. El campo
id
representa el identificador de Azure Resource Manager de esa área de trabajo de Log Analytics.Sugerencia
Este
id
también se puede encontrar en el panel Información general del área de trabajo de Log Analytics a través de Azure Portal.
Creación de la instancia de extensión
Opción 1: Con valores predeterminados
Esta opción usa los siguientes valores predeterminados:
- Crea o usa el área de trabajo de Log Analytics predeterminada existente que corresponde a la región del clúster.
- La actualización automática está habilitada para la extensión de clúster de Azure Monitor.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
Para usar la autenticación de identidad administrada (versión preliminar), agregue el parámetro configuration-settings
como se muestra a continuación:
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true
Opción 2: Con el área de trabajo existente de Azure Log Analytics
Puede usar un área de trabajo de Azure Log Analytics existente en cualquier suscripción en la que tenga la asignación de roles Colaborador o una más permisiva.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<armResourceIdOfExistingWorkspace>
Opción 3: Con configuración avanzada
Si quiere retocar las solicitudes y los límites de recursos predeterminados, puede usar las opciones de configuración avanzada:
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi
Consulte la sección de solicitudes y límites de recursos del gráfico Helm para conocer las opciones de configuración disponibles.
Opción 4: En Azure Stack Edge
Si el clúster de Kubernetes habilitado para Azure Arc está en Azure Stack Edge, se debe usar una ruta de acceso de montaje personalizada /home/data/docker
.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.logsettings.custommountpath=/home/data/docker
Opción 5: con ámbito de Private Link de Azure Monitor (AMPLS) + proxy
Si el clúster está configurado con un proxy de reenvío, la configuración del proxy se aplica automáticamente a la extensión. En el caso de un clúster con AMPLS + proxy, se debe omitir la configuración del proxy. Incorpore la extensión con el valor amalogs.ignoreExtensionProxySettings=true
de configuración.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.ignoreExtensionProxySettings=true
Nota
Si especifica explícitamente la versión de la extensión que se va a instalar en el comando CREATE, asegúrese de que la versión especificada sea >= 2.8.2.
Comprobación del estado de instalación de la extensión
Una vez que haya creado correctamente la extensión de Azure Monitor para el clúster de Kubernetes habilitado para Azure Arc, también puede comprobar el estado de la instalación mediante Azure Portal o la CLI. Si las instalaciones son correctas, su estado debe ser "Instalado". Si el estado muestra "Error" o permanece en estado "Pendiente" durante largos períodos de tiempo, continúe con la sección Solución de problemas a continuación.
- En Azure Portal, seleccione el clúster de Kubernetes habilitado para Azure Arc con la extensión instalándose.
- En el panel de recursos de la izquierda, seleccione el elemento "Extensiones" en la sección "Configuración".
- Debería ver una extensión con el nombre "azuremonitor-containers" en la lista, con el estado en la columna "Estado de instalación".
Migrar a autenticación mediante identidad administrada (versión preliminar)
Use la guía de flujo para migrar una instancia de extensión existente a la autenticación de identidad administrada (versión preliminar).
En primer lugar, recupere el área de trabajo de Log Analytics configurada para la extensión Container Insights.
az k8s-extension show --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters -n azuremonitor-containers
Habilite la extensión Container Insights con la opción de autenticación de identidad administrada mediante el área de trabajo devuelta en el primer paso.
az k8s-extension create --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true logAnalyticsWorkspaceResourceID=\<workspace-resource-id\>
Eliminación de una instancia de extensión
El siguiente comando solo elimina la instancia de la extensión, pero no elimina el área de trabajo de Log Analytics. Los datos del recurso de Log Analytics permanecen intactos.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
Clúster desconectado
Si el clúster está desconectado de Azure durante > 48 horas, Azure Resource Graph no tendrá información sobre el clúster. Como resultado, el panel Información puede mostrar información incorrecta sobre el estado del clúster.
Solución de problemas
Para las cuestiones relacionadas con la habilitación de la supervisión, hemos proporcionado un script de solución de problemas para ayudar a diagnosticar cualquier problema.
Pasos siguientes
Con la supervisión habilitada para recopilar el estado y el uso de recursos de su clúster de Kubernetes habilitado para Azure Arc y las cargas de trabajo que se ejecutan en ellos, aprenda cómo usar Información del contenedor.
De forma predeterminada, el agente en contenedores recopila los registros de contenedor stdout y stderr de todos los contenedores que se ejecutan en todos los espacios de nombres excepto kube-system. Para configurar la recopilación de registros de contenedor específica de uno o varios espacios de nombres determinados, consulte Configuración del agente de Container Insights para configurar las opciones de recopilación de datos que desee en el archivo de configuraciones ConfigMap.
Para extraer y analizar las métricas de Prometheus desde el clúster, consulte Configuración de la extracción de métricas de Prometheus.