

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

# Excluir um cluster
<a name="delete-cluster"></a>

Quando terminar de usar um cluster do Amazon EKS, será necessário excluir os recursos associados a ele para não causar custos desnecessários.

É possível excluir um cluster com `eksctl`, Console de gerenciamento da AWS ou AWS CLI.

## Considerações
<a name="_considerations"></a>
+ Se receber um erro porque o criador do cluster foi removido, consulte [este artigo](https://aws.amazon.com/premiumsupport/knowledge-center/eks-api-server-unauthorized-error) para resolvê-lo.
+ Os recursos do Amazon Managed Service for Prometheus estão fora do ciclo de vida do cluster e precisam ser mantidos separados do cluster. Ao excluir seu cluster, certifique-se de excluir também todos os extratores relevantes para interromper os custos aplicáveis. Para obter mais informações, consulte [Encontrar e excluir extratores](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-list-delete) no *Guia do usuário do Amazon Managed Service for Prometheus*.
+ Para remover um cluster conectado, consulte [Cancelar o registro de um cluster do Kubernetes no console do Amazon EKS](deregister-connected-cluster.md) 
+ Antes de excluir um cluster, verifique se a proteção contra exclusão está desabilitada.

### Considerações para o Modo Automático do EKS
<a name="_considerations_for_eks_auto_mode"></a>
+ Todos os nós do Modo Automático do EKS serão excluídos, incluindo as instâncias gerenciadas pelo EC2
+ Todos os balanceadores de carga serão excluídos

Para obter mais informações, consulte [Desabilitar o Modo Automático do EKS](auto-disable.md).

## Etapas de pré-requisitos
<a name="prerequisite-steps"></a>

Veja a seguir as etapas que devem ser executadas primeiro para poder excluir um cluster. Essas etapas se aplicam independentemente do método usado para excluir o cluster.

1. Liste todos os serviços em execução no cluster.

   ```
   kubectl get svc --all-namespaces
   ```

1. Exclua todos os serviços que têm um valor `EXTERNAL-IP` associado. Esses serviços são liderados por um balanceador de carga do Elastic Load Balancing, e será necessário excluí-los no Kubernetes para permitir que o balanceador de carga e os recursos associados sejam liberados corretamente. Substitua *service-name* pelo nome de cada serviço listado, conforme descrito.

   ```
   kubectl delete svc service-name
   ```

1. Exclua também quaisquer recursos de entrada. Se você não excluir os recursos de entrada, o application load balancer permanecerá, mesmo se você excluir o cluster. Substitua *ingress-name* pelo nome dos seus recursos de entrada.

   ```
   kubectl get ingress --all-namespaces
   ```

   ```
   kubectl delete ing ingress-name
   ```

## Excluir cluster (eksctl)
<a name="_delete_cluster_eksctl"></a>

Este procedimento exige a versão `eksctl` `0.215.0` ou superior. É possível verificar a versão com o seguinte comando:

```
eksctl version
```

Para obter instruções sobre como instalar ou atualizar o `eksctl`, consulte [Instalação](https://eksctl.io/installation) na documentação do `eksctl`.

1. Siga as [etapas de pré-requisito](#prerequisite-steps). Depois de fazer isso, exclua seu cluster e seus nós associados com o comando a seguir, substituindo *prod* pelo nome do seu cluster.

   ```
   eksctl delete cluster --name prod
   ```

   Resultado:

   ```
   [ℹ]  using region region-code
   [ℹ]  deleting EKS cluster "prod"
   [ℹ]  will delete stack "eksctl-prod-nodegroup-standard-nodes"
   [ℹ]  waiting for stack "eksctl-prod-nodegroup-standard-nodes" to get deleted
   [ℹ]  will delete stack "eksctl-prod-cluster"
   [✔]  the following EKS cluster resource(s) for "prod" will be deleted: cluster. If in doubt, check CloudFormation console
   ```

## Excluir cluster (console do AWS)
<a name="delete_cluster_shared_aws_console"></a>

1. Siga as [etapas de pré-requisito](#prerequisite-steps). Depois de fazer isso, exclua todos os grupos de nós e perfis do Fargate.

   1. Abra o [console do Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

   1. No painel de navegação à esquerda, escolha **Clusters** do Amazon EKS e, em seguida, na lista de clusters com guias, escolha o nome do cluster que você deseja excluir.

   1. Escolha a guia **Compute** (Computação) e escolha um grupo de nós para exclusão. Escolha **Delete** (Excluir), insira o nome do grupo de nós e depois escolha **Delete** (Excluir). Exclua todos os grupos de nós no cluster.
**nota**  
Os grupos de nós listados são somente [grupos de nós gerenciados](managed-node-groups.md) .

   1. Escolha um **perfil do Fargate** para excluir, selecione **Delete** (Excluir), insira o nome do perfil e selecione **Delete** (Excluir). Exclua todos os perfis do Fargate no cluster.

1. Exclua todas as [pilhas do AWS CloudFormation de nós autogerenciados](https://docs.aws.amazon.com/eks/latest/userguide/worker).

   1. Abra o console do [AWS CloudFormation](https://console.aws.amazon.com/cloudformation/).

   1. Escolha a pilha de nós a ser excluída e, então, escolha **Delete** (Excluir).

   1. Na caixa de diálogo de confirmação **Delete stack** (Excluir pilha), escolha **Delete stack** (Excluir pilha). Exclua todas as pilhas de nós autogerenciados do cluster.

1. Excluir o cluster.

   1. Abra o [console do Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

   1. escolha o cluster a ser excluído e escolha **Delete** (Excluir).

   1. Na tela de confirmação de excluir cluster, selecione **Delete (Excluir)**.

1. (Opcional) Exclua a pilha do VPC AWS CloudFormation.

   1. Abra o console do [AWS CloudFormation](https://console.aws.amazon.com/cloudformation/).

   1. Selecione a pilha da VPC a ser excluída e, então, escolha **Delete** (Excluir).

   1. Na caixa de diálogo de confirmação **Delete stack** (Excluir pilha), escolha **Delete stack** (Excluir pilha).

## Excluir cluster (AWS CLI)
<a name="delete_cluster_shared_aws_cli"></a>

1. Siga as [etapas de pré-requisito](#prerequisite-steps). Depois de fazer isso, exclua todos os grupos de nós e perfis do Fargate.

   1. Liste os grupos de nós no cluster com o comando a seguir.

      ```
      aws eks list-nodegroups --cluster-name my-cluster
      ```
**nota**  
Os grupos de nós listados são somente [grupos de nós gerenciados](managed-node-groups.md) .

   1. Exclua cada grupo de nós com o comando a seguir. Exclua todos os grupos de nós no cluster.

      ```
      aws eks delete-nodegroup --nodegroup-name my-nodegroup --cluster-name my-cluster
      ```

   1. Liste os perfis do Fargate no cluster com o comando a seguir.

      ```
      aws eks list-fargate-profiles --cluster-name my-cluster
      ```

   1. Exclua cada perfil do Fargate com o comando a seguir. Exclua todos os perfis do Fargate no cluster.

      ```
      aws eks delete-fargate-profile --fargate-profile-name my-fargate-profile --cluster-name my-cluster
      ```

1. Exclua todas as [pilhas do AWS CloudFormation de nós autogerenciados](https://docs.aws.amazon.com/eks/latest/userguide/worker).

   1. Liste suas pilhas disponíveis no AWS CloudFormation com o seguinte comando. Encontre o nome do modelo do nó no resultado.

      ```
      aws cloudformation list-stacks --query "StackSummaries[].StackName"
      ```

   1. Exclua a pilha de nós com o comando a seguir, substituindo *node-stack* pelo nome da sua pilha de nós. Exclua todas as pilhas de nós autogerenciados do cluster.

      ```
      aws cloudformation delete-stack --stack-name node-stack
      ```

1. Exclua o cluster com o comando a seguir, substituindo *my-cluster* pelo nome do cluster.

   ```
   aws eks delete-cluster --name my-cluster
   ```

1. (Opcional) Exclua a pilha do VPC AWS CloudFormation.

   1. Liste suas pilhas disponíveis no AWS CloudFormation com o seguinte comando. Encontre o nome do modelo da VPC na saída resultante.

      ```
      aws cloudformation list-stacks --query "StackSummaries[].StackName"
      ```

   1. Exclua a pilha da VPC com o comando a seguir, substituindo *my-vpc-stack* pelo nome da pilha da VPC.

      ```
      aws cloudformation delete-stack --stack-name my-vpc-stack
      ```

# Proteção dos clusters do EKS contra exclusão acidental
<a name="deletion-protection"></a>

A exclusão acidental de um cluster do EKS pode prejudicar as operações do cluster do Kubernetes.

Agora é possível proteger clusters do EKS contra exclusão acidental. Se você habilitar a proteção contra exclusão em um cluster, primeiro será necessário desabilitar a proteção contra exclusão antes de poder excluir o cluster.

O objetivo da proteção contra exclusão é o de evitar acidentes. Você deve restringir cuidadosamente quem está autorizado a excluir clusters.

Se você tentar excluir um cluster ativo com a proteção de exclusão ativada, você receberá uma `InvalidRequestException`.

**Importante**  
Se você habilitar a proteção contra exclusão em um cluster, deverá ter **ambas** as permissões do IAM UpdateClusterConfig e DeleteCluster para primeiramente remover a proteção contra exclusão e, finalmente, excluir o cluster.

**nota**  
Se o estado do cluster for criando, falhando ou excluindo, será possível excluir o cluster mesmo se a proteção contra exclusão estiver ativada.

## Para habilitar a proteção contra exclusão para um cluster existente
<a name="_to_enable_deletion_protection_for_an_existing_cluster"></a>

Você só pode executar isso em um cluster no status ativo.

```
aws eks update-cluster-config --name <cluster-name> --region <aws-region> --deletion-protection
```

## Para desabilitar a proteção contra exclusão para um cluster existente
<a name="_to_disable_deletion_protection_for_an_existing_cluster"></a>

```
aws eks update-cluster-config --name <cluster-name> --region <aws-region> --no-deletion-protection
```