

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á.

# Instale o agente SSM e o CloudWatch agente nos nós de trabalho do Amazon EKS usando preBootstrapCommands
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands"></a>

*Akkamahadevi Hiremath, Amazon Web Services*

## Resumo
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-summary"></a>

Esse padrão fornece exemplos de código e etapas para instalar o AWS Systems Manager Agent (SSM Agent) e o CloudWatch agente Amazon nos nós de trabalho do Amazon Elastic Kubernetes Service (Amazon EKS) na nuvem Amazon Web Services (AWS) durante a criação do cluster Amazon EKS. Você pode instalar o agente SSM e o CloudWatch agente usando a `preBootstrapCommands` propriedade do [esquema do arquivo de `eksctl` configuração](https://eksctl.io/usage/schema/) (documentação da Weaveworks). Em seguida, você pode usar o SSM Agent para se conectar aos seus nós de trabalho sem usar um par de chaves do Amazon Elastic Compute Cloud EC2 (Amazon). Além disso, você pode usar o CloudWatch agente para monitorar a utilização da memória e do disco nos nós de trabalho do Amazon EKS.

## Pré-requisitos e limitações
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ O [utilitário de linha de comando eksctl](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html), instalado e configurado no macOS, Linux ou Windows
+ O [utilitário de linha de comando kubectl](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html), instalado e configurado no macOS, Linux ou Windows

**Limitações**
+ Recomendamos que você evite adicionar scripts de longa execução à propriedade `preBootstrapCommands`****, pois isso impede o nó se junte ao cluster do Amazon EKS durante as atividades de escalabilidade. Em vez disso, recomendamos que você crie uma [imagem de máquina da Amazon (AMI) personalizada](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.customenv.html).
+ Esse padrão se aplica somente às instâncias do Amazon EC2 Linux.

## Arquitetura
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-architecture"></a>

**Pilha de tecnologia**
+ Amazon CloudWatch
+ Amazon Elastic Kubernetes Service (Amazon EKS)
+ AWS Systems Manager Parameter Store

**Arquitetura de destino**

O diagrama a seguir mostra um exemplo de um usuário se conectando aos nós de processamento do Amazon EKS usando o SSM Agent, que foi instalado usando `preBootstrapCommands`.

![\[User connecting to Amazon EKS worker nodes via Systems Manager, with SSM Agent and CloudWatch agent on each node.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/b37a3cdb-204f-4014-8317-3600a793dac7/images/9a5760af-23bb-4616-97b0-b401a9d080cf.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. O usuário cria um cluster Amazon EKS usando o arquivo de `eksctl` configuração com a `preBootstrapCommands` propriedade, que instala o agente e CloudWatch o agente SSM.

1. Todas as novas instâncias que ingressam no cluster posteriormente devido a atividades de escalabilidade são criadas com o agente e o agente SSM pré-instalados. CloudWatch 

1. O usuário se conecta à Amazon EC2 usando o agente SSM e, em seguida, monitora a utilização da memória e do disco usando o CloudWatch agente.

## Ferramentas
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-tools"></a>
+  CloudWatchA [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ajuda você a monitorar as métricas dos seus recursos da AWS e dos aplicativos que você executa na AWS em tempo real.
+ O [Amazon Elastic Kubernetes Service (Amazon EKS)](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) ajuda você a executar o Kubernetes na AWS sem precisar instalar e manter seus próprios nós ou ambiente de gerenciamento do Kubernetes.
+ O [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) oferece armazenamento hierárquico seguro para o gerenciamento de dados de configuração e gerenciamento de segredos.
+ [O AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) ajuda você a gerenciar suas EC2 instâncias, instâncias locais e máquinas virtuais por meio de um shell interativo, com um clique e baseado em navegador, ou por meio da AWS Command Line Interface (AWS CLI).
+ O [eksctl](https://eksctl.io/usage/schema/) é utilitário de linha de comando para criar e gerenciar clusters do Kubernetes no Amazon EKS.
+ O [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) é um utilitário de linha de comando para se comunicar com o servidor da API do cluster.

## Épicos
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-epics"></a>

### Criar um cluster do Amazon EKS.
<a name="create-an-amazon-eks-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Armazene o arquivo de configuração do CloudWatch agente. | Armazene o arquivo de configuração do CloudWatch agente no [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) na região da AWS onde você deseja criar seu cluster Amazon EKS. Para fazer isso, [crie um parâmetro](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) no AWS Systems Manager Parameter Store e anote o nome do parâmetro (por exemplo, `AmazonCloudwatch-linux`).Para obter mais informações, consulte o *exemplo de código do arquivo de configuração do CloudWatch agente* na seção [Informações adicionais](#install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-additional) desse padrão. | DevOps engenheiro | 
| Criar o arquivo de configuração e o cluster eksctl.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands.html) | AWS DevOps | 

### Verifique se o agente SSM e o CloudWatch agente funcionam
<a name="verify-that-the-ssm-agent-and-cloudwatch-agent-work"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Testar o SSM Agent. | Use o SSH para se conectar aos nós de cluster do Amazon EKS usando qualquer um dos métodos abordados em [Iniciar uma sessão](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#start-ec2-console%20%20or%20https:%2F%2Fdocs.aws.amazon.com%2Fsystems-manager%2Flatest%2Fuserguide%2Fsession-manager-working-with-sessions-start.html%23sessions-start-cli) na documentação do AWS Systems Manager. | AWS DevOps | 
| Teste o CloudWatch agente. | Use o CloudWatch console para validar o CloudWatch agente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands.html) | AWS DevOps | 

## Recursos relacionados
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-resources"></a>
+ [Instalando e executando o CloudWatch agente em seus servidores](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html) ( CloudWatch documentação da Amazon)
+ [Criar um parâmetro do Systems Manager (console)](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) (documentação do AWS Systems Manager)
+ [Crie o arquivo de configuração do CloudWatch agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file.html) ( CloudWatch documentação da Amazon)
+ [Iniciar uma sessão (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli) (documentação do AWS Systems Manager).
+ [Iniciando uma sessão ( EC2 console da Amazon)](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#start-ec2-console) (documentação do AWS Systems Manager)

## Mais informações
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-additional"></a>

**Exemplo de arquivo de configuração do CloudWatch agente**

No exemplo a seguir, o CloudWatch agente está configurado para monitorar a utilização do disco e da memória nas instâncias do Amazon Linux:

```
{
    "agent": {
        "metrics_collection_interval": 60,
        "run_as_user": "cwagent"
    },
    "metrics": {
        "append_dimensions": {
            "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
            "ImageId": "${aws:ImageId}",
            "InstanceId": "${aws:InstanceId}",
            "InstanceType": "${aws:InstanceType}"
        },
        "metrics_collected": {
            "disk": {
                "measurement": [
                    "used_percent"
                ],
                "metrics_collection_interval": 60,
                "resources": [
                    "*"
                ]
            },
            "mem": {
                "measurement": [
                    "mem_used_percent"
                ],
                "metrics_collection_interval": 60
            }
        }
    }
}
```

**Exemplo de arquivo de configuração eksctl**

```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: test
  region: us-east-2
  version: "1.24"
managedNodeGroups:
  - name: test
    minSize: 2
    maxSize: 4
    desiredCapacity: 2
    volumeSize: 20
    instanceType: t3.medium
    preBootstrapCommands:
    - sudo yum install amazon-ssm-agent -y
    - sudo systemctl enable amazon-ssm-agent
    - sudo systemctl start amazon-ssm-agent
    - sudo yum install amazon-cloudwatch-agent -y
    - sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:AmazonCloudwatch-linux
    iam:
      attachPolicyARNs:
        - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
        - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
        - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
        - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
        - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
```

**Outros detalhes do código**
+ Na última linha da propriedade `preBootstrapCommands`, `AmazonCloudwatch-linux` é o nome do parâmetro criado no AWS Systems Manager Parameter Store. É necessário incluir `AmazonCloudwatch-linux` no Parameter Store na mesma região da AWS em que o cluster do Amazon EKS foi criado. Você também pode especificar um caminho de arquivo, mas recomendamos o uso do Systems Manager para facilitar a automação e a reutilização.
+ Se você usar `preBootstrapCommands` no arquivo `eksctl` de configuração, verá dois modelos de lançamento no Console de Gerenciamento da AWS. O primeiro modelo de lançamento inclui os comandos especificados em `preBootstrapCommands`. O segundo modelo inclui os comandos especificados em `preBootstrapCommands` e os dados padrão do usuário do Amazon EKS. Esses dados são necessários para que os nós se juntem ao cluster. O grupo do Auto Scaling do grupo de nós usa esses dados do usuário para criar novas instâncias.
+ Se você usar o atributo `iam` no arquivo `eksctl` de configuração, deverá listar as políticas padrão do Amazon EKS com todas as políticas adicionais exigidas nas políticas anexadas do AWS Identity and Access Management (IAM). No trecho de código da etapa *Criar o arquivo de configuração eksctl e o cluster*, `AmazonSSMMangedInstanceCore` são adicionadas políticas adicionais para garantir que o CloudWatch agente `CloudWatchAgentServerPolicy` e o agente SSM funcionem conforme o esperado. As políticas `AmazonEKSWorkerNodePolicy`, `AmazonEKS_CNI_Policy` e `AmazonEC2ContainerRegistryReadOnly` são políticas obrigatórias necessárias para que o cluster Amazon EKS funcione corretamente.