Registro para Amazon EKS - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro para Amazon EKS

El registro de Kubernetes se puede dividir en registro del plano de control, registro de nodos y registro de aplicaciones. El plano de control de Kubernetes es un conjunto de componentes que administran los clústeres de Kubernetes y producen registros que se utilizan con fines de auditoría y diagnóstico. Con Amazon EKS, puede activar los registros de distintos componentes del plano de control y enviarlos a CloudWatch.

Kubernetes también ejecuta componentes del sistema, como kubelet y kube-proxy en cada nodo de Kubernetes en el que se ejecutan los pods. Estos componentes escriben registros en cada nodo y usted puede configurar CloudWatch y Container Insights para capturar estos registros para cada nodo de Amazon EKS.

Los contenedores se agrupan como pods dentro de un clúster de Kubernetes y están programados para ejecutarse en los nodos de Kubernetes. La mayoría de las aplicaciones contenerizadas escriben en base a la salida estándar y al error estándar, y el motor de contenedores redirige la salida a un controlador de registro. En Kubernetes, los registros del contenedor se encuentran en el directorio de un nodo. /var/log/pods Puede configurar CloudWatch y Container Insights para capturar estos registros para cada uno de sus pods de Amazon EKS.

Registro de plano de control de Amazon EKS

Un clúster de Amazon EKS consta de un plano de control de un solo inquilino y de alta disponibilidad para el clúster de Kubernetes y los nodos de Amazon EKS que ejecutan los contenedores. Los nodos del plano de control se ejecutan en una cuenta administrada por. AWS Los nodos del plano de control del clúster de Amazon EKS están integrados CloudWatch y puede activar el registro para componentes específicos del plano de control.

Se proporcionan registros para cada instancia de componente del plano de control de Kubernetes. AWS gestiona el estado de los nodos del plano de control y proporciona un acuerdo de nivel de servicio (SLA) para el punto final de Kubernetes.

Registro de nodos y aplicaciones de Amazon EKS

Le recomendamos que utilice CloudWatchContainer Insights para capturar registros y métricas para Amazon EKS. Container Insights implementa métricas a nivel de clúster, nodo y pod con el CloudWatch agente y con Fluent Bit o Fluentd para la captura de registros. CloudWatch Container Insights también proporciona paneles automáticos con vistas en capas de las métricas capturadas. CloudWatch Container Insights se implementa como CloudWatch DaemonSet un Fluent Bit DaemonSet que se ejecuta en todos los nodos de Amazon EKS. Container Insights no admite los nodos Fargate porque los administra AWS y no son compatibles. DaemonSets El registro de Fargate para Amazon EKS se describe por separado en esta guía.

La siguiente tabla muestra los CloudWatch grupos de registros y los registros capturados por la configuración de captura de registros predeterminada de Fluentd o Fluent Bit para Amazon EKS.

/aws/containerinsights/Cluster_Name/application Todos los archivos de registro están incluidos. /var/log/containers Este directorio proporciona enlaces simbólicos a todos los registros de contenedores de Kubernetes de la /var/log/pods estructura de directorios. Esto captura los registros del contenedor de aplicaciones que se escriben en o. stdout stderr También incluye registros de los contenedores del sistema Kubernetesaws-vpc-cni-init, como, ykube-proxy. coreDNS
/aws/containerinsights/Cluster_Name/host Registros de/var/log/dmesg, y/var/log/secure. /var/log/messages
/aws/containerinsights/Cluster_Name/dataplane Los registros en /var/log/journal para kubelet.service, kubeproxy.service y docker.service.

Si no quiere usar Container Insights con FluentBit o Fluentd para el registro, puede capturar los registros de nodos y contenedores con el CloudWatch agente instalado en los nodos de Amazon EKS. Los nodos de Amazon EKS son EC2 instancias, lo que significa que debe incluirlos en su enfoque de registro estándar a nivel de sistema para Amazon. EC2 Si instala el CloudWatch agente mediante Distributor y State Manager, los nodos de Amazon EKS también se incluyen en la instalación, configuración y actualización del CloudWatch agente.

La siguiente tabla muestra los registros que son específicos de Kubernetes y que debe capturar si no utiliza Container Insights con Fluent Bit o Fluentd para el registro.

/var/log/containers Este directorio proporciona enlaces simbólicos a todos los registros de contenedores de Kubernetes incluidos en la estructura de directorios. /var/log/pods Esto captura de manera efectiva los registros del contenedor de aplicaciones que se escriben en o. stdout stderr Esto incluye los registros de los contenedores del sistema Kubernetesaws-vpc-cni-init, como, ykube-proxy. coreDNS Importante: Esto no es obligatorio si utiliza Container Insights.
var/log/aws-routed-eni/ipamd.log

/var/log/aws-routed-eni/plugin.log
Los registros del daemon L-IPAM se encuentran aquí

Debe asegurarse de que los nodos de Amazon EKS instalen y configuren el CloudWatch agente para enviar los registros y las métricas correspondientes a nivel del sistema. Sin embargo, la AMI optimizada para Amazon EKS no incluye el agente Systems Manager. Al usar plantillas de lanzamiento, puede automatizar la instalación del agente de Systems Manager y una CloudWatch configuración predeterminada que captura registros importantes específicos de Amazon EKS con un script de inicio implementado a través de la sección de datos de usuario. Los nodos de Amazon EKS se implementan mediante un grupo de Auto Scaling como grupo de nodos gestionado o como nodos autogestionados.

Con los grupos de nodos gestionados, se proporciona una plantilla de lanzamiento que incluye la sección de datos de usuario para automatizar la instalación y CloudWatch configuración del agente de Systems Manager. Puede personalizar y utilizar la plantilla amazon_eks_managed_node_group_launch_config.yaml para crear una AWS CloudFormation plantilla de lanzamiento que instale el agente y el agente de Systems Manager y que también añada una configuración de registro específica de Amazon EKS al directorio de configuración. CloudWatch CloudWatch Esta plantilla se puede utilizar para actualizar la plantilla de lanzamiento de grupos de nodos gestionados por Amazon EKS con un enfoque infrastructure-as-code (IaC). Cada actualización de la AWS CloudFormation plantilla incluye una nueva versión de la plantilla de lanzamiento. A continuación, puede actualizar el grupo de nodos para usar la nueva versión de la plantilla y hacer que el proceso de ciclo de vida gestionado actualice sus nodos sin tiempo de inactividad. Asegúrese de que la función de IAM y el perfil de instancias aplicados a su grupo de nodos gestionado incluyan las políticas AmazonSSMManagedInstanceCore AWS gestionadas CloudWatchAgentServerPolicy y las políticas gestionadas.

Con los nodos autogestionados, puede aprovisionar y gestionar directamente el ciclo de vida y la estrategia de actualización de sus nodos de Amazon EKS. Los nodos autogestionados le permiten ejecutar nodos de Windows en el clúster de Amazon EKS y en Bottlerocket, entre otras opciones. Puede utilizarlos AWS CloudFormation para implementar nodos autogestionados en sus clústeres de Amazon EKS, lo que significa que puede utilizar un enfoque de IaC y de cambio gestionado para sus clústeres de Amazon EKS. AWS proporciona la AWS CloudFormation plantilla amazon-eks-nodegroup.yaml que puede usar tal cual o personalizar. La plantilla proporciona todos los recursos necesarios para los nodos de Amazon EKS de un clúster (por ejemplo, una función de IAM independiente, un grupo de seguridad, un grupo de Amazon EC2 Auto Scaling y una plantilla de lanzamiento). La AWS CloudFormation plantilla amazon-eks-nodegroup.yaml es una versión actualizada que instala el agente y el agente de Systems Manager necesarios y, CloudWatch además, añade una configuración de registro específica de Amazon EKS al CloudWatch directorio de configuración.

Cómo iniciar sesión en Amazon EKS en Fargate

Con Amazon EKS en Fargate, puede implementar pods sin asignar ni administrar los nodos de Kubernetes. Esto elimina la necesidad de capturar registros a nivel de sistema para sus nodos de Kubernetes. Para capturar los registros de sus cápsulas Fargate, puede usar Fluent Bit para reenviar los registros directamente a. CloudWatch Esto te permite enrutar automáticamente los registros a un contenedor lateral para tus cápsulas Amazon EKS en Fargate CloudWatch sin necesidad de configuración adicional. Para obtener más información al respecto, consulte el registro de Fargate en la documentación de Amazon EKS y Fluent Bit para Amazon EKS en el AWS blog. Esta solución captura las transmisiones STDERR input/output (I/O (STDOUTy) de su contenedor y las envía a CloudWatch través de Fluent Bit, según la configuración de Fluent Bit establecida para el clúster Amazon EKS en Fargate.