Registro na Amazon EKS - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Registro na Amazon EKS

O registro do Kubernetes pode ser dividido em registro do plano de controle, registro de nós e registro de aplicativos. O plano de controle do Kubernetes é um conjunto de componentes que gerenciam clusters do Kubernetes e produzem registros usados para fins de auditoria e diagnóstico. Com a AmazonEKS, você pode ativar os registros de diferentes componentes do plano de controle e enviá-los para CloudWatch.

O Kubernetes também executa componentes do sistema, como kubelet e kube-proxy em cada nó do Kubernetes que executa seus pods. Esses componentes gravam registros em cada nó e você pode configurar o CloudWatch Container Insights para capturar esses registros para cada EKS nó da Amazon.

Os contêineres são agrupados como pods em um cluster Kubernetes e estão programados para serem executados em seus nós do Kubernetes. A maioria dos aplicativos em contêineres grava na saída padrão e no erro padrão, e o mecanismo do contêiner redireciona a saída para um driver de registro. No Kubernetes, os registros do contêiner são encontrados no /var/log/pods diretório em um nó. Você pode configurar o CloudWatch Container Insights para capturar esses registros para cada um dos seus EKS pods da Amazon.

Registro EKS de aviões de controle da Amazon

Um EKS cluster da Amazon consiste em um plano de controle de locatário único e de alta disponibilidade para seu cluster Kubernetes e os EKS nós da Amazon que executam seus contêineres. Os nós do plano de controle são executados em uma conta gerenciada por AWS. Os nós do plano de controle de EKS cluster da Amazon estão integrados CloudWatch e você pode ativar o registro para componentes específicos do plano de controle.

Os registros são fornecidos para cada instância do componente do plano de controle do Kubernetes. AWS gerencia a integridade dos nós do seu plano de controle e fornece um contrato de nível de serviço (SLA) para o endpoint do Kubernetes.

Registro de EKS nós e aplicativos da Amazon

Recomendamos que você use o CloudWatchContainer Insights para capturar registros e métricas para a AmazonEKS. O Container Insights implementa métricas em nível de cluster, nó e pod com o CloudWatch agente, além do Fluent Bit ou Fluentd para captura de registros. CloudWatch O Container Insights também fornece painéis automáticos com visualizações em camadas de suas métricas capturadas CloudWatch . O Container Insights é implantado como CloudWatch DaemonSet um Fluent Bit DaemonSet que é executado em todos os nós da AmazonEKS. Os nós Fargate não são compatíveis com o Container Insights porque os nós são gerenciados AWS e não oferecem suporte. DaemonSets O registro em Fargate para a Amazon EKS é abordado separadamente neste guia.

A tabela a seguir mostra os CloudWatch grupos de registros e os registros capturados pela configuração padrão de captura de registros do Fluentd ou do Fluent Bit para a Amazon. EKS

/aws/containerinsights/Cluster_Name/application Todos os arquivos de log são inseridos/var/log/containers. Esse diretório fornece links simbólicos para todos os registros de contêineres do Kubernetes na estrutura de diretórios. /var/log/pods Isso captura os registros do contêiner do aplicativo gravados em stdout oustderr. Também inclui registros para contêineres do sistema Kubernetesaws-vpc-cni-init, como, e. kube-proxy coreDNS
/aws/containerinsights/Cluster_Name/host Registros de /var/log/dmesg/var/log/secure, /var/log/messages e.
/aws/containerinsights/Cluster_Name/dataplane Os logs no /var/log/journal para kubelet.service, kubeproxy.service e docker.service.

Se você não quiser usar o Container Insights com o Fluent Bit ou o Fluentd para registrar, você pode capturar registros de nós e contêineres com o CloudWatch agente instalado nos nós da Amazon. EKS Os EKS nós da Amazon são EC2 instâncias, o que significa que você deve incluí-los em sua abordagem padrão de registro em nível de sistema para a Amazon. EC2 Se você instalar o CloudWatch agente usando o Distributor and State Manager, EKS os nós da Amazon também serão incluídos na instalação, configuração e atualização do CloudWatch agente.

A tabela a seguir mostra registros específicos do Kubernetes e que você deve capturar se não estiver usando o Container Insights com o Fluent Bit ou o Fluentd para registro em log.

/var/log/containers Esse diretório fornece links simbólicos para todos os registros de contêineres do Kubernetes na estrutura de diretórios. /var/log/pods Isso captura com eficácia os registros do contêiner do aplicativo gravados em stdout oustderr. Isso inclui registros para contêineres do sistema Kubernetesaws-vpc-cni-init, como, e. kube-proxy coreDNS Importante: Isso não é necessário se você estiver usando o Container Insights.
var/log/aws-routed-eni/ipamd.log

/var/log/aws-routed-eni/plugin.log
Os registros do IPAM daemon L- podem ser encontrados aqui

Você deve garantir que os EKS nós da Amazon instalem e configurem o CloudWatch agente para enviar registros e métricas apropriados no nível do sistema. No entanto, o Amazon EKS Optimized AMI não inclui o agente Systems Manager. Usando modelos de lançamento, você pode automatizar a instalação do agente do Systems Manager e uma CloudWatch configuração padrão que captura registros importantes EKS específicos da Amazon com um script de inicialização implementado por meio da seção de dados do usuário. Os EKS nós da Amazon são implantados usando um grupo Auto Scaling como um grupo de nós gerenciados ou como nós autogerenciados.

Com grupos de nós gerenciados, você fornece um modelo de execução que inclui a seção de dados do usuário para automatizar a instalação e a CloudWatch configuração do agente do Systems Manager. Você pode personalizar e usar o modelo amazon_eks_managed_node_group_launch_config.yaml para criar um AWS CloudFormation modelo de execução que instala o agente e o agente do Systems Manager e também adiciona uma configuração de registro específica da Amazon ao diretório de configuração. CloudWatch EKS CloudWatch Esse modelo pode ser usado para atualizar seu modelo de lançamento de grupos de nós EKS gerenciados da Amazon com uma abordagem infrastructure-as-code (IaC). Cada atualização do AWS CloudFormation modelo provisiona uma nova versão do modelo de lançamento. Em seguida, você pode atualizar o grupo de nós para usar a nova versão do modelo e fazer com que o processo de ciclo de vida gerenciado atualize seus nós sem tempo de inatividade. Certifique-se de que a IAM função e o perfil da instância aplicados ao seu grupo de nós gerenciados incluam as políticas AmazonSSMManagedInstanceCore AWS gerenciadas CloudWatchAgentServerPolicy e.

Com os nós autogerenciados, você provisiona e gerencia diretamente o ciclo de vida e a estratégia de atualização dos seus nós da Amazon. EKS Os nós autogerenciados permitem que você execute nós do Windows em seu EKS cluster da Amazon e no Bottlerocket, junto com outras opções. Você pode usar AWS CloudFormation para implantar nós autogerenciados em seus EKS clusters da Amazon, o que significa que você pode usar uma abordagem de IaC e mudança gerenciada para seus clusters da AmazonEKS. AWS fornece o AWS CloudFormation modelo amazon-eks-nodegroup.yaml que você pode usar como está ou personalizar. O modelo provisiona todos os recursos necessários para os EKS nós da Amazon em um cluster (por exemplo, uma IAM função separada, um grupo de segurança, um grupo Amazon EC2 Auto Scaling e um modelo de lançamento). O AWS CloudFormation modelo amazon-eks-nodegroup.yaml é uma versão atualizada que instala o agente e o agente necessários do Systems Manager e também adiciona uma configuração de registro EKS específica da Amazon ao CloudWatch diretório de configuração. CloudWatch

Registro para a Amazon EKS em Fargate

Com a Amazon EKS on Fargate, você pode implantar pods sem alocar ou gerenciar seus nós do Kubernetes. Isso elimina a necessidade de capturar registros em nível de sistema para seus nós do Kubernetes. Para capturar os registros de seus pods Fargate, você pode usar o FluentBit para encaminhá-los diretamente para o. CloudWatch Isso permite que você encaminhe automaticamente os registros CloudWatch sem configuração adicional ou um contêiner auxiliar para seus EKS pods da Amazon no Fargate. Para obter mais informações sobre isso, consulte Fargate logging na EKS documentação da Amazon e Fluent Bit for Amazon EKS no blog. AWS Essa solução captura os fluxos STDERR input/output (I/O (STDOUTe) do seu contêiner e os envia CloudWatch por meio do Fluent Bit, com base na configuração do Fluent Bit estabelecida para o cluster EKS da Amazon no Fargate.