Visualización de los registros del agente en Azure Kubernetes Fleet Manager

En este artículo se explica cómo ver los registros de los agentes de Fleet desde los clústeres de concentrador y miembro en Azure Kubernetes Fleet Manager. Si tiene una flota con el modo de clúster de concentrador habilitado, Azure Kubernetes Fleet Manager instala agentes de Fleet en el clúster de concentrador y en los clústeres miembros para facilitar las comunicaciones y organizar las operaciones en toda la flota, en compatibilidad con las funcionalidades de orquestación de cargas de trabajo y equilibrio de carga de la flota. Estos agentes generan registros que proporcionan información detallada sobre:

  • Estado del agente y estado de conectividad
  • Cambios de configuración de orquestación de cargas de trabajo y actualizaciones de operaciones
  • Cambios de configuración de equilibrio de carga y actualizaciones de operaciones

Además, puede recuperar estos registros para fines de supervisión, solución de problemas o auditoría.

Importante

Este artículo solo se aplica a los clústeres de AKS que admiten completamente la ingesta de registros. Los clústeres de Kubernetes habilitados para Arc (versión preliminar) no admiten actualmente la ingesta de registros. Consulte Tipos de clúster de miembros del Azure Kubernetes Fleet Manager para más información.

Configuración de los valores de diagnóstico en los recursos pertinentes

Los registros del agente de flota se implementan como registros de recursos en Azure Monitor, específicamente:

  • Los registros del agente de flota para el clúster de Fleet Hub se implementan como parte de los registros de recursos del recurso Fleet.
    • Se instalan dos agentes en el clúster del centro de flotas, conocidos normalmente como agentes del centro de flotas, entre los que se incluyen:
      • fleet-hub-agent: el agente de flota que administra las pertenencias a clústeres y procesa las tareas de orquestación de cargas de trabajo en el lado del clúster del concentrador (por ejemplo, la programación, la implementación de cambios).
      • fleet-hub-net-controller-manager: el agente de flota que procesa las tareas de equilibrio de carga en el lado del clúster del concentrador.
  • Los registros del agente de flota para un clúster miembro de Fleet se implementan como parte de los registros de recursos para el recurso de clúster de AKS.
    • Tres agentes se instalan en un clúster de miembros de Fleet, comúnmente conocidos como agentes miembros de Fleet, entre los que se incluyen:
      • fleet-member-agent: el agente de flota que registra el clúster miembro en el clúster de concentrador y procesa las tareas de orquestación de cargas de trabajo en el lado del clúster miembro (por ejemplo, aplicar manifiestos, detección de desfase, adquisición).
      • fleet-member-net-controller-manager: el agente de flota que procesa las tareas de equilibrio de carga en el lado del clúster miembro.
      • fleet-mcs-controller-manager: el agente de flota que facilita los servicios de varios clústeres.

Los registros de recursos no se recopilan ni almacenan hasta que se crea una configuración de diagnóstico para enrutarlas a una o varias ubicaciones. Azure Monitor admite varias ubicaciones que puede usar, como una cuenta de Azure Storage o un área de trabajo de Log Analytics; para obtener una lista de las ubicaciones disponibles y sus limitaciones, consulte la página Destinos de configuración de diagnóstico de Azure Monitor .

Para recopilar los registros del agente de Fleet, cree una configuración de diagnóstico para el recurso correspondiente. Dependiendo de su caso de uso de Flota, puede optar por recopilar registros solo de uno o más agentes de Flota específicos. El enfoque más sencillo sería usar Azure Portal; consulte los pasos para obtener más instrucciones. También puede usar la CLI de Azure, PowerShell, Azure Resource Manager, la API REST o Azure Policy para configurar las cosas; para obtener más información, vea Crear una configuración de diagnóstico.

Importante

Puede haber costes sustanciales al recopilar los registros del agente de Fleet. Se recomienda que usted

Configura los ajustes de diagnóstico en el recurso Fleet para los registros del agente de Fleet Hub

  1. Inicie sesión en Azure Portal.
  2. En el cuadro de búsqueda, escriba Kubernetes Fleet Manager y seleccione Kubernetes Fleet Manager en los resultados de búsqueda.
  3. En la lista de todos los recursos de Fleet, busque la flota desde la que desea recopilar los registros del agente del centro de flotas. Haga clic en el nombre de la flota. Es posible que tenga que ajustar las condiciones de filtro para localizar el recurso de flota que desee.
  4. Seleccione Configuración de diagnóstico en Supervisión en el menú del recurso.
  5. Seleccione Agregar configuración de diagnóstico.
  6. Escriba un nombre para la configuración de diagnóstico.
  7. Para las categorías de registro, asegúrese de que al menos una de las dos categorías fleet-hub-agent y fleet-hub-net-controller-manager, está seleccionada. También puede elegir otras categorías de registro según sea necesario.
  8. Para obtener los detalles de destino, elija el destino que prefiera. Aparecen más opciones que le piden información adicional de destino. Para obtener más información, vea Crear una configuración de diagnóstico.
  9. Haga clic en Guardar.

Después de unos instantes, la nueva configuración aparece en la lista de opciones de diagnóstico de este recurso. Los registros se transmiten a los destinos especificados a medida que se generan nuevos datos. Puede pasar un tiempo entre el momento en que el agente emite un registro y cuando aparece en el destino que haya elegido.

Configuración de los valores de diagnóstico en el recurso de clúster de AKS miembro para los registros del agente miembro de Fleet

  1. Inicie sesión en Azure Portal.
  2. En el cuadro de búsqueda, escriba Kubernetes Services y seleccione Kubernetes Services en los resultados de búsqueda.
  3. En la lista de todos los recursos del clúster de AKS, busque el clúster de AKS que ha unido a la flota como un clúster miembro y desde el que desea recopilar registros de agente miembro de Fleet. Haga clic en el nombre del clúster de AKS. Es posible que tenga que ajustar las condiciones de filtro para localizar el recurso de clúster de AKS que desee.
  4. Seleccione Configuración de diagnóstico en Supervisión en el menú del recurso.
  5. Seleccione Agregar configuración de diagnóstico.
  6. Escriba un nombre para la configuración de diagnóstico.
  7. Para las categorías de registro, asegúrese de que al menos una de las tres categorías, fleet-member-agent, fleet-member-net-controller-managery fleet-mcs-controller-manager, está seleccionada. También puede elegir otras categorías de registro según sea necesario.
  8. Para obtener los detalles de destino, elija el destino que prefiera. Aparecen más opciones que le piden más información de destino. Para obtener más información, vea Crear una configuración de diagnóstico. Si tiene previsto usar un área de trabajo de Log Analytics como destino, un recurso de cluster de AKS admite tanto el modo de Diagnósticos de Azure como el modo específico del recurso. Para ver las diferencias entre los dos modos, consulte la explicación en la página Enviar al área de trabajo de Log Analytics .
  9. Haga clic en Guardar.

Después de unos instantes, la nueva configuración aparece en la lista de opciones de diagnóstico de este recurso. Los registros se transmiten a los destinos especificados a medida que se generan nuevos datos. Puede pasar un tiempo entre el momento en que el agente emite un registro y cuando aparece en el destino que usted haya elegido.

Visualización de los registros del agente de flota

Para ver los registros del agente de Flota en el destino que prefiera, consulte Envío de registros de recursos de Azure a áreas de trabajo de Log Analytics, Event Hubs o Azure Storage.

Nota:

Si usa un área de trabajo de Log Analytics como destino:

  • con el modo Azure Diagnostics, los registros del agente miembro de Fleet se pueden encontrar en la tabla AzureDiagnostics.
  • Con el modo específico para recursos, los registros del agente miembro de Fleet se pueden encontrar en la tabla AKSControlPlane.

Comprender los registros del agente de Flota

Los registros del agente de flota se escriben en el klog formato no estructurado; el formato es

[IWEF]yyyymmdd hh:mm:ss.uuuuuu threadid file:line msg kvs

Donde:

  • [IWEF] es el nivel de registro.
    • I representa el info nivel.
    • W representa el warning nivel.
    • E representa el error nivel.
    • F representa el fatal nivel.
  • yyyymmdd es el año (yyyy), el mes (mm) y el día (dd) cuando se emite el registro.
  • hh:mm:ss.uuuuuu es la marca de tiempo (hh durante horas, mm durante minutos, ss segundos y uuuuuu para microsegundos) cuando se emite el registro.
  • threadid es el identificador de subproceso (PID/TID) del proceso o subproceso del agente de Flota.
  • file:line es el nombre de archivo y el número de línea del código fuente que emite los registros.
  • msg es el mensaje de registro.
  • kvs es una lista de pares clave-valor (por ejemplo, work=123) que proporciona información adicional, como el objeto de API que implica el mensaje de registro.

Es posible que quiera hacer referencia cruzada a un mensaje de registro con el código fuente del agente Fleet para comprender mejor el mensaje de registro en contexto. Para los agentes fleet-hub-agent de Flota y fleet-member-agent, consulte el repositorio de GitHub KubeFleet; para fleet-hub-net-controller-manager, fleet-member-net-controller-managery fleet-mcs-controller-manager, consulte el repositorio de GitHub de redes de flota de Azure.

Consultas útiles de Kusto

La siguiente lista de consultas de Kusto que pueden ayudarle a buscar fácilmente los registros del agente de Fleet en un área de trabajo de Log Analytics:

Nota:

En los ejemplos se supone que usa el modo Azure Diagnostics al recopilar los registros de los agentes de los miembros de la flota. Si tiene habilitado el modo específico del recurso, use la AKSControlPlane tabla en su lugar para los ejemplos de consulta aplicables.

  • Recupere las 1000 entradas de registro más recientes de todos los agentes de Fleet Hub.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category in ("fleet-hub-agent", "fleet-hub-net-controller-manager")
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes de todos los agentes miembros de Fleet.
// Replace YOUR-RESOURCE-ID with the value of your AKS member cluster resource.
// To view the ID, go to the AKS cluster resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category in ("fleet-member-agent", "fleet-member-net-controller-manager", "fleet-mcs-controller-manager")
| order by TimeGenerated desc
| take 1000
  • Recupere las 1 000 entradas de registro más recientes sobre cómo Fleet administra las pertenencias a clústeres en el lado del clúster del concentrador.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-agent"
| where log_s contains "v1beta1/member_controller.go"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes sobre cómo Fleet procesa los ClusterResourcePlacement objetos de API.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-agent"
| where log_s contains "clusterresourceplacement/"
| order by TimeGenerated desc
| take 1000
  • Obtenga las 1,000 entradas de registro más recientes sobre cómo Fleet programa las cargas de trabajo.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-agent"
| where log_s contains "scheduler/" or log_s contains "framework/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes sobre cómo Fleet procesa las actualizaciones graduales.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-agent"
| where log_s contains "rollout/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1 000 entradas de registro más recientes sobre cómo Fleet procesa las actualizaciones almacenadas provisionalmente.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-agent"
| where log_s contains "updaterun/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes sobre cómo Fleet sincroniza las cargas de trabajo con los clústeres miembro.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-agent"
| where log_s contains "workgenerator/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1 000 entradas de registro más recientes sobre cómo Fleet informa de las pertenencias a clústeres en el lado del clúster miembro.
// Replace YOUR-RESOURCE-ID with the value of your AKS member cluster resource.
// To view the ID, go to the AKS cluster resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-member-agent"
| where log_s contains "v1beta1/member_controller.go"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes sobre cómo Fleet aplica manifiestos a un clúster miembro específico.
// Replace YOUR-RESOURCE-ID with the value of your AKS member cluster resource.
// To view the ID, go to the AKS cluster resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-member-agent"
| where log_s contains "workapplier/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1 000 entradas de registro más recientes sobre cómo Fleet administra las exportaciones o importaciones de puntos de conexión para las funcionalidades de red en el lado del clúster del concentrador.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-net-controller-manager"
| where log_s contains "endpointsliceexport/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1 000 entradas de registro más recientes sobre cómo Fleet administra las exportaciones o importaciones de servicios para las funcionalidades de red en el lado del clúster del concentrador.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-net-controller-manager"
| where log_s contains "serviceimport/" or log_s contains "internalserviceimport/" or log_s contains "internalserviceexport/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes sobre cómo Fleet administra los recursos relacionados con Azure Traffic Manager para las funcionalidades de red.
// Replace YOUR-RESOURCE-ID with the value of your Fleet resource.
// To view the ID, go to the Fleet resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-hub-net-controller-manager"
| where log_s contains "trafficmanagerbackend/" or log_s contains "trafficmanagerprofile/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1 000 entradas de registro más recientes sobre cómo Fleet administra las exportaciones o importaciones de puntos de conexión para las funcionalidades de red en el lado del clúster miembro.
// Replace YOUR-RESOURCE-ID with the value of your AKS member cluster resource.
// To view the ID, go to the AKS cluster resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-member-net-controller-manager"
| where log_s contains "endpointslice/" or log_s contains "endpointsliceexport/" or log_s contains "endpointsliceimport/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes sobre cómo Fleet administra las exportaciones o importaciones de servicios para las funcionalidades de red en el lado del clúster miembro.
// Replace YOUR-RESOURCE-ID with the value of your AKS member cluster resource.
// To view the ID, go to the AKS cluster resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-member-net-controller-manager"
| where log_s contains "serviceexport/" or log_s contains "serviceimport/"
| order by TimeGenerated desc
| take 1000
  • Recupere las 1000 entradas de registro más recientes sobre cómo Fleet administra los servicios de varios clústeres para las funcionalidades de red.
// Replace YOUR-RESOURCE-ID with the value of your AKS member cluster resource.
// To view the ID, go to the AKS cluster resource page, and select JSON view on the overview page.
AzureDiagnostics
| where _ResourceId == YOUR-RESOURCE-ID
| where Category == "fleet-mcs-controller-manager"
| where log_s contains "multiclusterservice/"
| order by TimeGenerated desc
| take 1000