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
-
kubectlconfigurado 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
CloudWatchAgentServerPolicyanexada -
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-observabilityEKS 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
-
Salve o modelo anterior em um arquivo chamado
otel-container-insights.yaml. -
Execute o comando a seguir. Substitua
cluster-namepelo 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 -
Aguarde a conclusão da criação da pilha.
aws cloudformation wait stack-create-complete \ --stack-name otel-container-insights -
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
-
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-agentTodos os pods devem mostrar o status
Running. -
Abra o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, selecione Container Insights.
-
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