Conceitos básicos do Amazon EKS: eksctl - Amazon EKS

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

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.

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 AWS Management Console. Se preferir criar manualmente a maioria dos recursos e entender melhor como eles interagem entre si, use o AWS Management Console para criar os clusters e a computação. Para ter mais informações, consulte Comece a usar o Amazon EKS - AWS Management Console e AWS CLI.

Pré-requisitos

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.

Etapa 1: Criar o cluster e nós do Amazon EKS

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. e Gerenciar recursos computacionais usando nós. 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. 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. 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 e Bottlerocket 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 no guia Referência geral da AWS.

Fargate - Linux
eksctl create cluster --name my-cluster --region region-code --fargate
Managed nodes - Linux
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 do AWS CloudFormation para ver todos os recursos que foram criados.

Etapa 2: exibir recursos do Kubernetes

  1. Exiba os nós de cluster.

    kubectl get nodes -o wide

    Veja um exemplo de saída abaixo.

    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 AWS Management Console.

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

    kubectl get pods -A -o wide

    Veja um exemplo de saída abaixo.

    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 AWS Management Console.

Etapa 3: excluir clusters e nós

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.

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

Próximas etapas

Os seguintes tópicos de documentação ajudam a estender a funcionalidade do seu cluster: