View a markdown version of this page

Implante o OTel Container Insights com CloudFormation - Amazon CloudWatch

Implante o OTel Container Insights com CloudFormation

Você pode implantar o OTel Container Insights como infraestrutura como código usando um modelo CloudFormation. Essa abordagem é melhor para equipes que gerenciam clusters por meio de pipelines de IaC e desejam implantações reproduzíveis e controladas por versão.

O modelo instala o complemento amazon-cloudwatch-observability EKS com o OTel Container Insights ativado. Se você preferir o gerenciamento de pacotes nativo do Kubernetes, consulte Implante o OTel Container Insights com o Helm.

Pré-requisitos

Antes de implantar o OTel Container Insights com CloudFormation, verifique se você atende aos seguintes requisitos.

  • Um cluster existente do Amazon EKS executando o Kubernetes versão 1.28 ou posterior

  • AWS CLI versão 2.15.0 ou posterior

  • kubectl configurado para comunicar-se com o cluster de destino

  • Permissões do IAM para criação de pilhas do CloudFormation

  • Acesso à Internet de saída do cluster para os endpoints do CloudWatch

Implantar com CloudFormation

Use um modelo CloudFormation para implantar o complemento CloudWatch Observability, o perfil do IAM necessário e a associação da Identidade de Pods em uma única pilha. Este modelo usa o recurso AWS::EKS::Addon para instalar o complemento com o OTel Container Insights ativado.

CloudFormationModelo do

O modelo a seguir cria o conjunto completo de recursos que você precisa para habilitar o OTel Container Insights em seu cluster Amazon EKS.

AWSTemplateFormatVersion: '2010-09-09' Description: Deploy OTel Container Insights on an EKS cluster Parameters: ClusterName: Type: String Description: The name of your EKS cluster Resources: CloudWatchAgentRole: Type: AWS::IAM::Role Properties: RoleName: EKS-CloudWatch-Observability-Role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: pods.eks.amazonaws.com Action: - sts:AssumeRole - sts:TagSession ManagedPolicyArns: - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy PodIdentityAssociation: Type: AWS::EKS::PodIdentityAssociation Properties: ClusterName: !Ref ClusterName Namespace: amazon-cloudwatch ServiceAccount: cloudwatch-agent RoleArn: !GetAtt CloudWatchAgentRole.Arn CloudWatchObservabilityAddon: Type: AWS::EKS::Addon DependsOn: PodIdentityAssociation Properties: ClusterName: !Ref ClusterName AddonName: amazon-cloudwatch-observability AddonVersion: v6.2.0-eksbuild.1 ConfigurationValues: '{"otelContainerInsights":{"enabled":true}}' ServiceAccountRoleArn: !GetAtt CloudWatchAgentRole.Arn ResolveConflicts: OVERWRITE

Este modelo cria os seguintes recursos:

  • Um perfil do IAM com a política gerenciada CloudWatchAgentServerPolicy anexada

  • Uma associação da Identidade de Pods EKS que mapeia a função para a conta de serviço do atendente do CloudWatch

  • O complemento amazon-cloudwatch-observability EKS com o OTel Container Insights ativado

Para implantar a pilha do CloudFormation

Use AWS CLI para criar a pilha do CloudFormation a partir do modelo.

Para implantar a pilha
  1. Salve o modelo anterior em um arquivo chamado otel-container-insights.yaml.

  2. Execute o comando a seguir. Substitua cluster-name pelo nome do cluster do Amazon EKS.

    aws cloudformation create-stack \ --stack-name otel-container-insights \ --template-body file://otel-container-insights.yaml \ --parameters ParameterKey=ClusterName,ParameterValue=cluster-name \ --capabilities CAPABILITY_NAMED_IAM
  3. Aguarde a conclusão da criação da pilha.

    aws cloudformation wait stack-create-complete \ --stack-name otel-container-insights
  4. Verifique se o status da pilha é CREATE_COMPLETE.

    aws cloudformation describe-stacks \ --stack-name otel-container-insights \ --query "Stacks[0].StackStatus" \ --output text

Verificar a implantação

Depois que a criação da pilha do CloudFormation for concluída, verifique se o complemento está em execução e enviando dados para o CloudWatch.

Como verificar a implantação
  1. Confirme se os pods de atendente do CloudWatch estão em execução.

    kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent

    Todos os pods devem mostrar o status Running.

  2. Abra o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/.

  3. No painel de navegação, selecione Container Insights.

  4. Verifique se seu cluster aparece na lista de clusters e se as métricas estão sendo preenchidas.

As métricas geralmente aparecem no CloudWatch dentro de 3 a 5 minutos após a conclusão da implantação.

Remova a implantação

Para remover todos os recursos criados pelo modelo CloudFormation, exclua a pilha.

aws cloudformation delete-stack \ --stack-name otel-container-insights