Configurar um EKS cluster da Amazon - Amazon EMR

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

Configurar um EKS cluster da Amazon

EKSA Amazon é um serviço gerenciado que facilita a execução do Kubernetes AWS sem precisar instalar, operar e manter seu próprio plano de controle ou nós do Kubernetes. Siga as etapas descritas abaixo para criar um novo cluster Kubernetes com nós na Amazon. EKS

Pré-requisitos

Importante

Antes de criar um EKS cluster da Amazon, preencha os requisitos EKS VPC e considerações da Amazon e da sub-rede no Guia EKS do usuário da Amazon para garantir que seus EKS clusters da Amazon funcionem e escalem conforme o esperado.

Você deve instalar e configurar as seguintes ferramentas e recursos necessários para criar e gerenciar um EKS cluster da Amazon:

  • A versão mais recente do AWS CLI.

  • A versão 1.20 ou posterior do kubectl.

  • A versão mais recente de eksctl.

Para obter mais informações, consulte Instale o AWS CLI, Instalar o kubectl e Instalar o eksctl.

Crie um EKS cluster da Amazon usando eksctl

Siga as etapas a seguir para criar um EKS cluster da Amazon usandoeksctl.

Importante

Para começar rapidamente, você pode criar um EKS cluster e os nós com as configurações padrão. Entretanto, para o uso em produção, recomendamos personalizar as configurações do cluster e dos nós para atender aos seus requisitos específicos. Para obter uma lista de todas as configurações e opções, execute o comando eksctl create cluster -h. Para obter mais informações, consulte Creating and Managing Clusters na documentação do eksctl.

  1. Crie um par de EC2 chaves da Amazon.

    Se você não tiver um par de chaves existente, poderá executar o comando apresentado a seguir para criar um novo par de chaves. Substitua us-west-2 pela região na qual você deseja criar seu cluster.

    aws ec2 create-key-pair --region us-west-2 --key-name myKeyPair

    Salve a saída retornada em um arquivo no seu computador local. Para obter mais informações, consulte Criação ou importação de um par de chaves no Guia do EC2 usuário da Amazon para instâncias Linux.

    nota

    Não é necessário um par de chaves para criar um EKS cluster. Mas especificar o par de chaves permite que você SSH acesse os nós depois de criados. Você pode especificar um par de chaves somente ao criar o grupo de nós.

  2. Crie um EKS cluster.

    Execute o comando a seguir para criar um EKS cluster e nós. Substituir my-cluster e myKeyPair com seu próprio nome de cluster e nome do par de chaves. Substituir us-west-2 com a região em que você deseja criar seu cluster. Para obter mais informações sobre as regiões EKS suportadas pela Amazon, consulte os endpoints e cotas do Amazon Elastic Kubernetes Service.

    eksctl create cluster \ --name my-cluster \ --region us-west-2 \ --with-oidc \ --ssh-access \ --ssh-public-key myKeyPair \ --instance-types=m5.xlarge \ --managed
    Importante

    Ao criar um EKS cluster, use m5.xlarge como o tipo de instância ou qualquer outro tipo de instância com mais CPU memória. Usar um tipo de instância com menos CPU memória em comparação com m5.xlarge pode levar à falha do trabalho devido à insuficiência de recursos disponíveis no cluster. Para obter todos os recursos criados, visualize a pilha chamada eksctl-my-cluster-cluster no console do AWS Cloud Formation.

    O processo de criação de cluster e nó demora alguns minutos. Você visualizará diversas linhas de saída quando o cluster e os nós forem criados. O exemplo a seguir demonstra a última linha de saída.

    ... [✓] EKS cluster "my-cluster" in "us-west-2" region is ready

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

  3. Visualize e valide os recursos.

    Execute o comando apresentado a seguir para visualizar os nós do cluster.

    kubectl get nodes -o wide

    Veja a seguir um exemplo de saída.

    Amazon EC2 node output NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-12-49.us-west-2.compute.internal Ready none 6m7s v1.18.9-eks-d1db3c 192.168.12.49 52.35.116.65 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6 ip-192-168-72-129.us-west-2.compute.internal Ready none 6m4s v1.18.9-eks-d1db3c 192.168.72.129 44.242.140.21 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6

    Para obter mais informações, consulte View nodes.

    Use o comando apresentado a seguir para visualizar as workloads em execução no cluster.

    kubectl get pods --all-namespaces -o wide

    Veja a seguir um exemplo de saída.

    Amazon EC2 output NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system aws-node-6ctpm 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.us-west-2.compute.internal none none kube-system aws-node-cbntg 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal none none kube-system coredns-559b5db75d-26t47 1/1 Running 0 14m 192.168.78.81 ip-192-168-72-129.us-west-2.compute.internal none none kube-system coredns-559b5db75d-9rvnk 1/1 Running 0 14m 192.168.29.248 ip-192-168-12-49.us-west-2.compute.internal none none kube-system kube-proxy-l8pbd 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal none none kube-system kube-proxy-zh85h 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.us-west-2.compute.internal none none

    Para obter mais informações sobre o que você visualiza aqui, consulte View workloads.

Crie um EKS cluster usando AWS Management Console e AWS CLI

Você também pode usar AWS Management Console e AWS CLI criar um EKS cluster. Siga as etapas em Introdução à Amazon EKS — AWS Management ConsoleAWS CLI e. Dessa forma, você tem visibilidade de como cada recurso é criado para o EKS cluster e como os recursos interagem entre si.

Importante

Ao criar nós para um EKS cluster, use m5.xlarge como o tipo de instância ou qualquer outro tipo de instância com maior CPU memória.

Crie um EKS cluster com AWS Fargate

Você também pode criar um EKS cluster com pods em execução. AWS Fargate

  1. Para criar um EKS cluster com pods em execução no Fargate, siga as etapas descritas em Introdução ao uso da Amazon. AWS Fargate EKS

    nota

    O Amazon EMR on EKS precisa do Core DNS para executar trabalhos no EKS cluster. Se você quiser executar seus pods somente no Fargate, siga as etapas em Atualizando o Core. DNS

  2. Execute o comando apresentado a seguir para visualizar os nós do cluster.

    kubectl get nodes -o wide

    Veja a seguir um exemplo de saída do Fargate.

    Fargate node output NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-168-141-147.us-west-2.compute.internal Ready none 8m3s v1.18.8-eks-7c9bda 192.168.141.147 none Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 containerd://1.3.2 fargate-ip-192-168-164-53.us-west-2.compute.internal Ready none 7m30s v1.18.8-eks-7c9bda 192.168.164.53 none Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 containerd://1.3.2

    Para obter mais informações, consulte View nodes.

  3. Execute o comando apresentado a seguir para visualizar as workloads em execução no cluster.

    kubectl get pods --all-namespaces -o wide

    Veja a seguir um exemplo de saída do Fargate.

    Fargate output NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kube-system coredns-69dfb8f894-9z95l 1/1 Running 0 18m 192.168.164.53 fargate-ip-192-168-164-53.us-west-2.compute.internal none none kube-system coredns-69dfb8f894-c8v66 1/1 Running 0 18m 192.168.141.147 fargate-ip-192-168-141-147.us-west-2.compute.internal none none

    Para obter mais informações, consulte View workloads.