Registro de 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 de Amazon EKS

El registro de Kubernetes se puede dividir en registro de planos de control, registro de nodos y registro de aplicaciones. LaPlano de control de Kuberneteses un conjunto de componentes que administran clústeres de Kubernetes y producen registros utilizados para fines de auditoría y diagnóstico. Con Amazon EKS, puedesactivar registros para distintos componentes del plano de controly envíalos a CloudWatch.

Kubernetes también ejecuta componentes del sistema comokubeletykube-proxyen cada nodo de Kubernetes que ejecuta tus pods. Estos componentes escriben registros dentro de cada nodo y puede configurar CloudWatch y Container Insights para capturar estos registros para cada nodo de Amazon EKS.

Los contenedores se agrupan comovainasdentro de un clúster de Kubernetes y están programados para ejecutarse en los nodos de Kubernetes. La mayoría de las aplicaciones en contenedores escriben en salida estándar y error estándar, y el motor de contenedores redirige la salida a un controlador de registro. En Kubernetes, los registros de contenedores se encuentran en el/var/log/podsdirectorio de un nodo. Puede configurar CloudWatch y Container Insights para capturar estos registros para cada uno de los 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 tenant 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 porAWS. Los nodos de plano de control de clúster de Amazon EKS están integrados con CloudWatch y puede activar el registro para componentes de planos de control específicos.

Se proporcionan registros para cada instancia de componente del plano de control de Kubernetes.AWSadministra el estado de los nodos del plano de control y proporciona unacuerdo de nivel de servicio (SLA) para el endpoint de Kubernetes.

Registro de nodos y aplicaciones de Amazon EKS

Le recomendamos que utiliceCloudWatch Container Insightspara capturar registros y métricas de Amazon EKS. Container Insights implementa métricas a nivel de clúster, nodo y pod con el CloudWatch agente y Fluent Bit o Fluentd para la captura de registros en CloudWatch. Container Insights también cuenta con paneles automáticos con vistas en capas de su captura CloudWatch Métricas de . Container Insights se implementa como CloudWatch DaemonSet y Fluent Bit DaemonSet que se ejecuta en todos los nodos de Amazon EKS. Container Insights no admite los nodos Fargate porque los nodos son administrados porAWSy no soporta DaemonSets. El registro de Fargate para Amazon EKS se cubre por separado en esta guía.

En la tabla siguiente, se muestra la CloudWatch grupos de registros y registros capturados por elConfiguración predeterminada de captura de registro de Fluentd o Fluent Bitpara Amazon EKS.

/aws/containerinsights/Cluster_Name/application Todos los archivos de registros de/var/log/containers. Este directorio proporciona enlaces simbólicos a todos los registros de contenedores de Kubernetes en el/var/log/podsEstructura de directorios. Esto captura los registros del contenedor de aplicaciones escribiendo enstdoutostderr. También incluye registros para contenedores del sistema Kubernetes, tales comoaws-vpc-cni-init,kube-proxy, ycoreDNS.
/aws/containerinsights/Cluster_Name/host Archivos de registros de/var/log/dmesg,/var/log/secure, y/var/log/messages.
/aws/containerinsights/Cluster_Name/dataplane Los registros en /var/log/journal para kubelet.service, kubeproxy.service y docker.service.

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

En la tabla siguiente se muestran los registros específicos de Kubernetes y que debe capturar si no utiliza Container Insights con Fluent Bit o Fluentd para registrar.

/var/log/containers Este directorio proporciona enlaces simbólicos a todos los registros de contenedores de Kubernetes en el/var/log/podsEstructura de directorios. Esto captura eficazmente los registros del contenedor de aplicaciones escribiendo enstdoutostderr. Esto incluye registros de contenedores del sistema de Kubernetes, tales comoaws-vpc-cni-init,kube-proxy, ycoreDNS. 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 pueden encontrar aquí

Debe asegurarse de que los nodos de Amazon EKS instalen y configuren el CloudWatch agente para enviar registros y métricas de nivel de sistema adecuados. Sin embargo, la AMI optimizada de Amazon EKS no incluye el agente de Systems Manager. Usandoplantillas de lanzamiento, puede automatizar la instalación del agente de Systems Manager y un valor predeterminado CloudWatch configuración que captura registros específicos importantes 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 comogrupo de nodos administradoso comonodos autoadministrados.

Con los grupos de nodos administrados, suministra unplantilla de lanzamientoque incluye la sección de datos de usuario para automatizar la instalación del agente de Systems Manager y CloudWatch Configuración de . Puede personalizar y utilizar elamazon_eks_managed_node_group_launch_config.yaml AWS CloudFormationplantilla para crear una plantilla de lanzamiento que instale el agente de Systems Manager, CloudWatch agente, y también añade una configuración de registro específica de Amazon EKS a la CloudWatch directorio de configuración. Esta plantilla se puede utilizar para actualizar la plantilla de lanzamiento de grupos de nodos administrados de Amazon EKS con un infrastructure-as-code (iAC). Cada actualización de laAWS CloudFormationLa plantilla aprovisiona una nueva versión de la plantilla de lanzamiento. A continuación, puede actualizar el grupo de nodos para utilizar la nueva versión de plantilla y tener laproceso de ciclo de vida administradoactualiza tus nodos sin tiempo de inactividad. Asegúrese de que el perfil de instancia e rol de IAM aplicado a su grupo de nodos administrado incluya elCloudWatchAgentServerPolicyyAmazonSSMManagedInstanceCore AWSpolíticas administradas.

Con los nodos autoadministrados, aprovisiona y administra directamente el ciclo de vida y la estrategia de actualización de los nodos de Amazon EKS. Los nodos autoadministrados le permiten ejecutar nodos de Windows en su clúster de Amazon EKS yBottlerocket, junto conotras opciones. Puede utilizarAWS CloudFormationpara implementar nodos autogestionados en los clústeres de Amazon EKS, lo que significa que puede utilizar un enfoque de cambio administrado y iAC para los clústeres de Amazon EKS.AWSproporciona laamazon-eks-nodegroup.yaml AWS CloudFormationplantilla que puede usar tal cual o personalizar. La plantilla aprovisiona todos los recursos necesarios para los nodos de Amazon EKS de un clúster (por ejemplo, un rol de IAM independiente, un grupo de seguridad, un grupo de Amazon EC2 Auto Scaling y una plantilla de lanzamiento). Laamazon-eks-nodegroup.yaml AWS CloudFormationplantilla es una versión actualizada que instala el agente de Systems Manager requerido, CloudWatch agente, y también añade una configuración de registro específica de Amazon EKS a la CloudWatch directorio de configuración.

Registro para Amazon EKS en Fargate

Con Amazon EKS en Fargate, puedes implementar pods sin asignar ni administrar tus nodos de Kubernetes. Esto elimina la necesidad de capturar registros de nivel de sistema para los nodos de Kubernetes. Para capturar los registros de los pods de Fargate, puedes usar Fluent Bit para reenviar los registros directamente a CloudWatch. Esto le permite enrutar automáticamente los registros a CloudWatch sin más configuración ni contenedor sidecar para tus pods de Amazon EKS en Fargate. Para obtener más información sobre este tema, consulteRegistros de Fargateen la documentación de Amazon EKS yBroca fluida para Amazon EKSen elAWSBlog. Esta solución captura elSTDOUTySTDERRlas secuencias de entrada/salida (E/S) del contenedor y las envía a CloudWatch a través de Fluent Bit, basada en la configuración de bits fluentes establecida para el clúster de Amazon EKS en Fargate.