

# Verificação dos pré-requisitos para o Container Insights no CloudWatch
<a name="Container-Insights-prerequisites"></a>

Antes de instalar o Container Insights no Amazon EKS ou no Kubernetes, verifique os pré-requisitos a seguir. Esses pré-requisitos se aplicam tanto se você usar o atendente do CloudWatch ou o AWS Distro for OpenTelemetry para configurar o Container Insights em clusters do Amazon EKS.
+ Você tem um cluster funcional do Amazon EKS ou do Kubernetes com nós anexados em uma das regiões que oferecem suporte ao Container Insights ao Amazon EKS e ao Kubernetes. Para obter a lista de regiões compatíveis, consulte [Container Insights](ContainerInsights.md).
+ Você tem `kubectl` instalado e em execução. Para obter mais informações, consulte [Instalar o `kubectl`](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) no *Manual do usuário do Amazon EKS*.
+ Se você estiver usando o Kubernetes em execução na AWS, em vez de usar o Amazon EKS, os seguintes pré-requisitos também serão necessários:
  + Certifique-se de que o cluster do Kubernetes habilitou o controle de acesso baseado em funções (RBAC). Para obter mais informações, consulte [Usar a autorização de RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) (em inglês) na Referência do Kubernetes. 
  + Seu kubelet habilitou o modo de autorização Webhook. Para obter mais informações, consulte [Autenticação/autorização do Kubelet](https://kubernetes.io/docs/reference/access-authn-authz/kubelet-authn-authz/) (em inglês) na Referência do Kubernetes.

Você também deve conceder permissões do IAM para permitir que seus nós de processamento do Amazon EKS enviem métricas e logs ao CloudWatch. Há duas maneiras de fazer isso:
+ Anexe uma política à função do IAM dos nós de processamento. Isso funciona tanto para clusters do Amazon EKS quanto para outros clusters do Kubernetes.
+ Utilize uma função do IAM para contas de serviço para o cluster e anexe a política a essa função. Funciona somente para clusters do Amazon EKS.

A primeira opção concede permissões ao CloudWatch para o nó inteiro, enquanto o uso de uma função do IAM para a conta de serviço dá acesso ao CloudWatch somente aos pods do daemonset apropriados.

**Anexar uma política à função do IAM de seus nós de processamento**

Siga estas etapas para anexar a política à função do IAM dos nós de processamento. Isso funciona tanto para clusters do Amazon EKS como para clusters do Kubernetes fora do Amazon EKS. 

**Como adicionar a política necessária à função do IAM para os nós de processamento**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Selecione uma das instâncias do nó de processamento e escolha a função do IAM na descrição.

1. Na página da função do IAM, selecione **Attach policies** (Anexar políticas).

1. Na lista de políticas, marque a caixa de seleção ao lado de **CloudWatchAgentServerPolicy**. Se necessário, use a caixa de pesquisa para encontrar essa política.

1. Escolha **Anexar políticas**.

Se você estiver executando um cluster do Kubernetes fora do Amazon EKS, talvez você não tenha uma função do IAM anexada a seus nós de processamento. Caso contrário, primeiro anexe uma função do IAM à instância e adicione a política conforme explicado nas etapas anteriores. Para obter mais informações sobre como anexar um perfil a uma instância, consulte [Anexar um perfil do IAM a uma instância](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role) no *Guia do usuário do Amazon EC2*.

Se estiver executando um cluster do Kubernetes fora do Amazon EKS e quiser coletar IDs de volumes do EBS nas métricas. você deverá adicionar outra política à função do IAM anexada à instância. Adicione o seguinte como uma política em linha. Para obter mais informações, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Manual do usuário do IAM*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:DescribeVolumes"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

**Usar uma função de conta de serviço do IAM**

Esse método funciona somente em clusters do Amazon EKS.

**Para conceder permissão para o CloudWatch usar uma função de conta de serviço do IAM**

1. Caso ainda não tenha feito isso, habilite as funções do IAM para contas de serviço no cluster. Para obter mais informações, consulte [Habilitar funções do IAM para contas de serviço em seu cluster ](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). 

1. Caso ainda não tenha configurado, configure a conta de serviço para usar o perfil do IAM. Para obter mais informações, consulte [Configuração de uma conta de serviço do Kubernetes para assumir um perfil do IAM](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html). 

   Ao criar a função, anexe a política do IAM **CloudWatchAgentServerPolicy** à função, além da política que você criar para a função. Além disso, a conta de serviço do Kubernetes associada que está vinculada a essa função deve ser criada no namespace do `amazon-cloudwatch`, no qual os daemonsets do CloudWatch e do Fluent Bit serão implantados nas próximas etapas.

1. Associe a função do IAM a uma conta de serviço no cluster, se ainda não tiver feito isso. Para obter mais informações, consulte [Configuração de uma conta de serviço do Kubernetes para assumir um perfil do IAM](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html).