

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Conceitos básicos do Amazon EKS: `eksctl`
<a name="getting-started-eksctl"></a>

**nota**  
Este tópico aborda como começar **sem** o Modo Automático do EKS.  
O Modo Automático do EKS automatiza tarefas de rotina de computação, armazenamento e redes de clusters. [Saiba como começar a usar o Modo Automático do Amazon EKS.](getting-started-automode.md) 

Este manual ajuda você a criar todos os recursos necessários para começar a usar o Amazon Elastic Kubernetes Service (Amazon EKS) com o `eksctl`, um utilitário de linha de comando simples para criar e gerenciar clusters de Kubernetes no Amazon EKS. No final deste tutorial, você terá um cluster do Amazon EKS em execução, no qual poderá implantar as aplicações.

Os procedimentos neste guia criam automaticamente vários recursos que você precisa criar manualmente ao criar o cluster usando o comando Console de gerenciamento da AWS. Se preferir criar manualmente a maioria dos recursos e entender melhor como eles interagem entre si, use o Console de gerenciamento da AWS para criar os clusters e a computação. Para ter mais informações, consulte [Comece a usar o Amazon EKS - Console de gerenciamento da AWS e AWS CLI](getting-started-console.md).

## Pré-requisitos
<a name="eksctl-prereqs"></a>

Antes de iniciar este tutorial, você deve instalar e configurar as ferramentas AWS CLI, kubectl e eksctl, conforme descrito em [Configurar para usar o Amazon EKS](setting-up.md).

## Etapa 1: Criar o cluster e nós do Amazon EKS
<a name="create-cluster-gs-eksctl"></a>

**Importante**  
Para começar da forma mais simples e rápida possível, este tópico inclui etapas para criar um cluster e nós com configurações padrão. Antes de criar um cluster e nós para uso em produção, recomendamos que você se familiarize com todas as configurações e implante um cluster e nós com as configurações que atendam aos seus requisitos. Para ter mais informações, consulte [Criar um cluster do Amazon EKS](create-cluster.md) e [Gerenciar recursos computacionais usando nós](eks-compute.md). Algumas configurações poderão ser habilitadas apenas durante a criação do cluster e dos nós.

Você pode criar um cluster com um dos seguintes tipos de nós. Para saber mais sobre cada tipo, consulte [Gerenciar recursos computacionais usando nós](eks-compute.md). Depois que o cluster for implantado, você pode adicionar outros tipos de nós.
+  **Fargate – Linux**: selecione este tipo de nó se você quiser executar aplicações Linux no [Simplifique o gerenciamento da computação com o AWS Fargate](fargate.md). O Fargate é um mecanismo de computação sem servidor que permite a implantação de pods do Kubernetes sem gerenciar instâncias do Amazon EC2.
+  **Nós gerenciados – Linux** – Selecione este tipo de nó se você quiser executar aplicações do Amazon Linux em instâncias do Amazon EC2. Embora não seja abordado neste guia, também é possível usar os nós [Autogerenciado do Windows](launch-windows-workers.md) e [Bottlerocket](launch-node-bottlerocket.md) para o cluster.

Crie o cluster do Amazon EKS com o comando a seguir. Você pode substituir *my-cluster* por seu próprio valor. O nome só pode conter caracteres alfanuméricos (sensíveis a maiúsculas e minúsculas) e hifens. Ele deve começar com um caractere alfanumérico e não pode ter mais de 100 caracteres. O nome deve ser exclusivo na região da AWS e na conta da AWS em que você está criando o cluster. Substitua *region-code* por qualquer região AWS com suporte ao Amazon EKS. Para obter uma lista das regiões da AWS, consulte [Endpoints e cotas de serviço do Amazon EKS](https://docs.aws.amazon.com/general/latest/gr/eks.html) no guia Referência geral da AWS.

**Example**  

```
eksctl create cluster --name my-cluster --region region-code --fargate
```

```
eksctl create cluster --name my-cluster --region region-code
```

A criação do cluster leva muitos minutos. Durante a criação, você verá várias linhas de saída. A última linha do resultado é semelhante ao exemplo de linha a seguir.

```
[...]
[✓]  EKS cluster "my-cluster" in "region-code" region is ready
```

 `eksctl` criou um arquivo de configuração `kubectl` em `~/.kube/config` ou adicionou a configuração do novo cluster em um arquivo de configuração existente em `~/.kube/config` em seu computador.

Após a conclusão da criação do cluster, visualize a pilha do AWS CloudFormation chamada `eksctl-my-cluster-cluster` no [console](https://console.aws.amazon.com/cloudformation/) do AWS CloudFormation para ver todos os recursos que foram criados.

## Etapa 2: exibir recursos do Kubernetes
<a name="gs-eksctl-view-resources"></a>

1. Exiba os nós de cluster.

   ```
   kubectl get nodes -o wide
   ```

   Veja um exemplo de saída abaixo.  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAME                                                STATUS   ROLES    AGE     VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   fargate-ip-192-0-2-0.region-code.compute.internal   Ready    <none>   8m3s    v1.2.3-eks-1234567   192.0.2.0     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   fargate-ip-192-0-2-1.region-code.compute.internal   Ready    <none>   7m30s   v1.2.3-eks-1234567   192-0-2-1     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAME                                        STATUS   ROLES    AGE    VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   ip-192-0-2-0.region-code.compute.internal   Ready    <none>   6m7s   v1.2.3-eks-1234567   192.0.2.0     192.0.2.2     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ip-192-0-2-1.region-code.compute.internal   Ready    <none>   6m4s   v1.2.3-eks-1234567   192.0.2.1     192.0.2.3     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------

   Para obter mais informações sobre o que é visualizado na saída, consulte [Visualize os recursos do Kubernetes na seção Console de gerenciamento da AWS](view-kubernetes-resources.md).

1. Exiba as workloads em execução no cluster.

   ```
   kubectl get pods -A -o wide
   ```

   Veja um exemplo de saída abaixo.  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE   IP          NODE                                                NOMINATED NODE   READINESS GATES
   kube-system   coredns-1234567890-abcde   1/1     Running   0          18m   192.0.2.0   fargate-ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          18m   192.0.2.1   fargate-ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE     IP          NODE                                        NOMINATED NODE   READINESS GATES
   kube-system   aws-node-12345             1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   kube-system   aws-node-67890             1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-abcde   1/1     Running   0          14m     192.0.2.3   ip-192-0-2-3.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          14m     192.0.2.4   ip-192-0-2-4.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-12345           1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-67890           1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------

   Para obter mais informações sobre o que é visualizado na saída, consulte [Visualize os recursos do Kubernetes na seção Console de gerenciamento da AWS](view-kubernetes-resources.md).

## Etapa 3: excluir clusters e nós
<a name="gs-eksctl-clean-up"></a>

Após concluir o cluster e os nós criados para este tutorial, faça uma limpeza excluindo o cluster e os nós usando o comando a seguir. Se você quiser realizar outras ações com esse cluster antes de limpá-lo, consulte [Próximas etapas](#gs-eksctl-next-steps).

```
eksctl delete cluster --name my-cluster --region region-code
```

## Próximas etapas
<a name="gs-eksctl-next-steps"></a>

Os seguintes tópicos de documentação ajudam a estender a funcionalidade do seu cluster:
+ Implante uma [aplicação de exemplo](sample-deployment.md) no cluster.
+ A [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que criou o cluster é a única entidade que pode fazer chamadas para o servidor de API do Kubernetes com o `kubectl` ou o Console de gerenciamento da AWS. Se quiser que outras entidades principais do IAM tenham acesso ao cluster, será necessário adicioná-los. Para ter mais informações, consulte [Conceder aos usuários e perfis do IAM acesso às APIs do Kubernetes](grant-k8s-access.md) e [Permissões obrigatórias](view-kubernetes-resources.md#view-kubernetes-resources-permissions).
+ Antes de implantar um cluster para uso em produção, recomendamos conhecer todas as configurações de [clusters](create-cluster.md) e [nós](eks-compute.md). Algumas configurações (como habilitar o acesso SSH aos nós do Amazon EC2) devem ser feitas no momento de criação do cluster.
+ Para aumentar a segurança do cluster, [configure o plugin Amazon VPC Container Networking Interface para usar funções do IAM para contas de serviço](cni-iam-role.md).