{b>Amazon EKS<b}
Guia do usuário

Conceitos básicos do Amazon EKS

Este guia de conceitos básicos ajuda você a criar todos os recursos necessários para começar a usar o Amazon EKS.

Pré-requisitos do Amazon EKS

Antes de criar um cluster do Amazon EKS, você deve criar uma função do IAM que o Kubernetes pode assumir para criar recursos da AWS. Por exemplo, quando um load balancer é criado, o Kubernetes assume a função para criar um load balancer do Elastic Load Balancing em sua conta. Isso só precisa ser feito uma vez e pode ser usado para vários clusters do EKS.

Você também deve criar uma VPC e um grupo de segurança para uso do cluster. Embora a VPC e os security groups possam ser usados para vários clusters do EKS, recomendamos que você use uma VPC separada para cada cluster do EKS para fornecer melhor isolamento de rede.

Esta seção também ajuda você a instalar o binário do kubectl e configurá-lo para funcionar com o Amazon EKS.

Criar a função de serviço do Amazon EKS

Para criar uma função de serviço do Amazon EKS no console do IAM

  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Escolha Roles (Funções) e, em seguida, Create Role (Criar função).

  3. Selecione EKS na lista de serviços e, em seguida, Allows Amazon EKS to manage your clusters on your behalf (Permite que o Amazon EKS gerencie os clusters em seu nome) para seu caso de uso e, em seguida, Next: Permissions (Próximo: permissões).

  4. Selecione Next: Review.

  5. Em Role name (Nome da função), digite um nome exclusivo para a função, como eksServiceRole e, em seguida, escolha Create role (Criar função).

Criar a VPC do cluster do Amazon EKS

Para criar a VPC do cluster

  1. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. Na barra de navegação, selecione uma região que seja compatível com o Amazon EKS.

    nota

    O Amazon EKS está disponível nas seguintes regiões no momento:

    • Oeste dos EUA (Oregon) (us-west-2)

    • Leste dos EUA (Norte da Virgínia) (us-east-1)

    • US East (Ohio) (Leste dos EUA (Ohio)) (us-east-2)

    • EU (Ireland) (UE [Irlanda]) (eu-west-1)

  3. Selecione Create stack.

  4. Em Choose a template (Escolher um modelo), selecione Specify an Amazon S3 template URL (Especificar a URL de um modelo do Amazon S3).

  5. Cole a seguinte URL na área de texto e selecione Next (Próximo):

    https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2018-11-07/amazon-eks-vpc-sample.yaml
  6. Na página Specify Details (Especificar detalhes), preencha os parâmetros conforme necessário e, em seguida, escolha Next (Próximo).

    • Stack name (Nome da pilha): escolha um nome de pilha para a pilha do AWS CloudFormation. Por exemplo, você pode chamá-la de eks-vpc.

    • VpcBlock: escolha um intervalo de CIDR para a VPC. Você pode manter o valor padrão.

    • Subnet01Block: escolha um intervalo de CIDR para a sub-rede 1. Você pode manter o valor padrão.

    • Subnet02Block: escolha um intervalo de CIDR para a sub-rede 2. Você pode manter o valor padrão.

    • Subnet03Block: escolha um intervalo de CIDR para a sub-rede 3. Você pode manter o valor padrão.

  7. (Opcional) Na página Options (Opções), marque os recursos da pilha. Escolha Next.

  8. Na página Revisão, selecione Criar.

  9. Quando a pilha estiver criada, selecione-a no console e escolha Outputs (Saídas).

  10. Registre o valor de SecurityGroups para o security group criado. Você precisará dele ao criar seu cluster do EKS. Esse security group é aplicado às interfaces de rede elástica entre contas que são criadas em suas sub-redes que permitem que o plano de controle do Amazon EKS se comunique com os nós de operador.

  11. Registre o VpcId para a VPC que foi criada. Você precisará disso ao executar o modelo do grupo de nós de operador.

  12. Registre os SubnetIds para as sub-redes que foram criadas. Você precisará disso ao criar seu cluster do EKS. Essas são as sub-redes nas quais os nós de operador são executados.

Instalar e configurar o kubectl para o Amazon EKS

O Kubernetes usa um utilitário de linha de comando chamado kubectl para se comunicar com o servidor da API do cluster. Os clusters do Amazon EKS também precisam do AWS IAM Authenticator para Kubernetes para permitir a autenticação do IAM para seu cluster do Kubernetes. A partir do Kubernetes versão 1.10, você pode configurar o cliente do kubectl para funcionar com o Amazon EKS instalando o AWS IAM Authenticator para Kubernetes e modificando o arquivo de configuração do kubectl para usá-lo para autenticação.

O Amazon EKS fornece binários aws-iam-authenticator que você pode usar que são idênticos aos binários aws-iam-authenticator upstream com a mesma versão. Como alternativa, você pode usar go get para obter o binário do projeto do AWS IAM Authenticator para Kubernetes no GitHub.

Para instalar o kubectl para o Amazon EKS

  • Você tem várias opções para baixar e instalar kubectl para o seu sistema operacional.

    • O binário kubectl está disponível em muitos gerenciadores de pacotes de sistema operacional, e essa opção geralmente é muito mais fácil do que o processo de download e instalação manual. Você pode seguir as instruções para seu sistema operacional ou gerenciadores de pacotes específicos na Documentação do Kubernetes para instalar.

    • O Amazon EKS também fornece binários kubectl que você pode usar que são idênticos aos binários kubectl upstream com a mesma versão. Para instalar o binário fornecido pelo Amazon EKS para o seu sistema operacional, consulte Instalação do kubectl.

Para instalar o aws-iam-authenticator para o Amazon EKS

  1. Baixe o binário aws-iam-authenticator fornecido pelo Amazon EKS no Amazon S3:

    Use o comando a seguir para fazer download do binário substituindo a URL correta para a plataforma. O exemplo a seguir é para clientes do macOS.

    curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/amd64/aws-iam-authenticator
  2. (Opcional) Verifique o binário baixado com a soma de SHA-256 fornecido no mesmo prefixo do bucket, substituindo o URL correto para sua plataforma.

    1. Faça download da soma de SHA-256 para seu sistema. O exemplo a seguir é para fazer download da soma de SHA-256 para clientes do macOS.

      curl -o aws-iam-authenticator.sha256 https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/amd64/aws-iam-authenticator.sha256
    2. Verifique a soma de SHA-256 para o binário obtido por download. O comando de exemplo openssl a seguir foi testado para clientes do macOS e do Ubuntu. Seu sistema operacional pode usar um comando ou uma sintaxe diferente para verificar somas de SHA-256. Consulte a documentação de seu sistema operacional se necessário.

      openssl sha1 -sha256 aws-iam-authenticator
    3. Compare a soma da SHA-256 gerada na saída do comando em relação a seu arquivo aws-iam-authenticator.sha256 obtido por download. Os dois devem corresponder.

  3. Aplique permissões de execução ao binário.

    chmod +x ./aws-iam-authenticator
  4. Copie o binário em uma pasta em seu $PATH. Recomendamos criar um $HOME/bin/aws-iam-authenticator e garantir que $HOME/bin venha primeiro em seu $PATH.

    cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator && export PATH=$HOME/bin:$PATH
  5. Adicione $HOME/bin à variável de ambiente PATH.

    • Para shells do Bash no macOS:

      echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile
    • Para shells do Bash no Linux:

      echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
  6. Teste se o binário do aws-iam-authenticator funciona.

    aws-iam-authenticator help

(Opcional) Fazer download e instalar a AWS CLI mais recente

Embora a AWS CLI não seja explicitamente necessária para usar o Amazon EKS, o comando update-kubeconfig simplifica muito o processo de criação do kubeconfig. Para usar a AWS CLI com o Amazon EKS, você deve ter pelo menos a versão 1.16.18 da AWS CLI instalada. Para instalar ou atualizar a AWS CLI, consulte Instalar a Interface de linha de comando da AWS no Guia do usuário do AWS Command Line Interface.

Importante

Gerenciadores de pacotes como yum, apt-get ou Homebrew para macOS geralmente estão por trás de várias versões da AWS CLI. Para verificar se você tem a versão mais recente, consulte Instalar a interface de linha de comando da AWS no Guia do usuário do AWS Command Line Interface.

Você pode verificar a versão da AWS CLI com o comando a seguir:

aws --version

nota

A versão do Python do sistema deve ser o Python 3 ou o Python 2.7.9 ou superior. Caso contrário, você receberá erros de hostname doesn't match com chamadas da AWS CLI para o Amazon EKS. Para obter mais informações, consulte O que são os erros de "o nome do host não corresponde"? nas Perguntas frequentes sobre solicitações do Python.

Etapa 1: Criar o cluster do Amazon EKS

Agora você pode criar o cluster do Amazon EKS.

Importante

Quando um cluster do Amazon EKS é criado, a entidade (usuário ou função) do IAM que cria o cluster é adicionada à tabela de autorização de RBAC do Kubernetes como o administrador (com permissões system:master. Inicialmente, somente o usuário do IAM pode fazer chamadas para o servidor da API do Kubernetes usando kubectl. Para obter mais informações, consulte Gerenciamento de usuários ou funções do IAM para seu cluster. Além disso, o Autenticador IAM da AWS para Kubernetes usa o AWS SDK para Go para autenticação no cluster do Amazon EKS. Se usar o console para criar o cluster, você deverá verificar se as mesmas credenciais de usuário do IAM estão na cadeia de credenciais do SDK da AWS ao executar os comandos kubectl no cluster.

Se instalar e configurar a AWS CLI, você poderá configurar as credenciais do IAM para o usuário. Elas também funcionam para o Autenticador IAM da AWS para Kubernetes. Se a AWS CLI estiver configurada corretamente para o usuário, o Autenticador IAM da AWS para Kubernetes também poderá encontrar essas credenciais. Para obter mais informações, consulte Configurar a no .

Para criar o cluster com o console

  1. Open the Amazon EKS console at https://console.aws.amazon.com/eks/home#/clusters.

  2. Escolha Create cluster.

    nota

    Se o usuário do IAM não tiver privilégios administrativos, você deverá adicionar permissões explicitamente para que esse usuário chame as operações da API do Amazon EKS. Para obter mais informações, consulte Criar políticas do IAM no Amazon EKS.

  3. Na página Create cluster (Criar cluster), preencha os seguintes campos e selecione Create (Criar):

    • Cluster name (Nome do cluster): um nome exclusivo para o cluster.

    • Kubernetes version (Versão do Kubernetes): a versão do Kubernetes a ser usada para o cluster. Por padrão, a versão mais recente disponível é selecionada.

    • Role ARN (ARN da função): selecione a função do IAM criada com Criar a função de serviço do Amazon EKS.

    • VPC: a VPC que você criou com Criar a VPC do cluster do Amazon EKS. Você pode encontrar o nome da VPC na lista suspensa.

    • Subnets (Sub-redes): os valores de SubnetIds (separados por vírgula) na saída do AWS CloudFormation que você gerou com Criar a VPC do cluster do Amazon EKS. Por padrão, as sub-redes disponíveis na VPC acima estão pré-selecionadas.

    • Security Groups (Grupos de segurança): o valor de SecurityGroups na saída do AWS CloudFormation que você gerou com Criar a VPC do cluster do Amazon EKS. Esse security group tem ControlPlaneSecurityGroup no nome da lista suspensa.

      Importante

      O modelo do AWS CloudFormation de nó de operador modifica o security group especificado por você aqui. Por isso, recomendamos que você use um security group dedicado para o seu plano de controle de cluster. Se você compartilhá-lo com outros recursos, poderá bloquear ou interromper as conexões a esses recursos.

    nota

    Você pode receber um erro porque uma das zonas de disponibilidade em sua solicitação não tem capacidade suficiente para criar um cluster do Amazon EKS. Se isso acontecer, a saída do erro conterá as zonas de disponibilidade que são compatíveis com o novo cluster. Tente criar novamente o cluster com pelo menos duas sub-redes que estejam localizadas nas zonas de disponibilidade compatíveis com a sua conta.

  4. Na página Clusters, selecione o nome do cluster recém-criado para visualizar as informações do cluster.

  5. O campo Status mostra CREATING (CRIANDO) até que o processo de provisionamento do cluster esteja concluído.

Para criar o cluster com a AWS CLI

  1. Crie o cluster usando o comando a seguir. Substitua o nome do cluster, o Amazon Resource Name (ARN) da função de serviço do Amazon EKS que você criou em Criar a função de serviço do Amazon EKS e os IDs da sub-rede e do grupo de segurança para a VPC que você criou em Criar a VPC do cluster do Amazon EKS.

    aws eks --region region create-cluster --name devel --role-arn arn:aws:iam::111122223333:role/eks-service-role-AWSServiceRoleForAmazonEKS-EXAMPLEBKZRQR --resources-vpc-config subnetIds=subnet-a9189fe2,subnet-50432629,securityGroupIds=sg-f5c54184

    Importante

    Se receber um erro de sintaxe semelhante ao erro a seguir, você poderá usar uma versão de pré-visualização da AWS CLI do Amazon EKS. A sintaxe de muitos comandos do Amazon EKS mudou desde o lançamento do serviço público. Atualize sua versão da AWS CLI para a mais recente disponível e lembre-se de excluir o diretório de modelo de serviço personalizado em ~/.aws/models/eks.

    aws: error: argument --cluster-name is required

    nota

    Se o usuário do IAM não tiver privilégios administrativos, você deverá adicionar permissões explicitamente para que esse usuário chame as operações da API do Amazon EKS. Para obter mais informações, consulte Criar políticas do IAM no Amazon EKS.

    Resultado:

    { "cluster": { "name": "devel", "arn": "arn:aws:eks:us-west-2:111122223333:cluster/devel", "createdAt": 1527785885.159, "version": "1.10", "roleArn": "arn:aws:iam::111122223333:role/eks-service-role-AWSServiceRoleForAmazonEKS-AFNL4H8HB71F", "resourcesVpcConfig": { "subnetIds": [ "subnet-a9189fe2", "subnet-50432629" ], "securityGroupIds": [ "sg-f5c54184" ], "vpcId": "vpc-a54041dc" }, "status": "CREATING", "certificateAuthority": {} } }
  2. O provisionamento do cluster normalmente demora menos de 10 minutos. Você pode consultar o status do cluster com o comando a seguir. Quando o status do cluster for ACTIVE, você poderá continuar.

    aws eks --region region describe-cluster --name devel --query cluster.status

Etapa 2: configurar o kubectl para o Amazon EKS

Nesta seção, você cria um arquivo kubeconfig para o cluster com o comando update-kubeconfig da AWS CLI. Se você não deseja instalar a AWS CLI ou se você prefere criar ou atualizar o kubeconfig manualmente, consulte Criar um kubeconfig para o Amazon EKS.

Para criar o arquivo kubeconfig com a AWS CLI

  1. Verifique se você tem pelo menos a versão 1.16.18 da AWS CLI instalada. Para instalar ou atualizar a AWS CLI, consulte Instalar a Interface de linha de comando da AWS no Guia do usuário do AWS Command Line Interface.

    nota

    A versão do Python do sistema deve ser o Python 3 ou o Python 2.7.9 ou superior. Caso contrário, você receberá erros de hostname doesn't match com chamadas da AWS CLI para o Amazon EKS. Para obter mais informações, consulte O que são os erros de "o nome do host não corresponde"? nas Perguntas frequentes sobre solicitações do Python.

    Você pode verificar a versão da AWS CLI com o comando a seguir:

    aws --version

    Importante

    Gerenciadores de pacotes como yum, apt-get ou Homebrew para macOS geralmente estão por trás de várias versões da AWS CLI. Para verificar se você tem a versão mais recente, consulte Instalar a interface de linha de comando da AWS no Guia do usuário do AWS Command Line Interface.

  2. Use o comando update-kubeconfig da AWS CLI para criar ou atualizar o kubeconfig para seu cluster.

    • Por padrão, o arquivo de configuração resultante é criado no caminho kubeconfig padrão (.kube/config) em seu diretório inicial ou mesclado com um kubeconfig existente nesse local. Você pode especificar outro caminho com a opção --kubeconfig.

    • Você pode especificar um ARN de função do IAM com a opção --role-arn para uso para autenticação quando você emitir comandos kubectl. Caso contrário, a entidade do IAM na AWS CLI ou na cadeia de credenciais padrão do SDK é usada. Você pode visualizar sua identidade padrão da AWS CLI ou do SDK executando o comando aws sts get-caller-identity.

    • Para obter mais informações, consulte a página de ajuda com o comando aws eks update-kubeconfig help ou consulte update-kubeconfig no AWS CLI Command Reference.

    aws eks --region region update-kubeconfig --name cluster_name
  3. Teste a configuração.

    kubectl get svc

    nota

    Se você receber o erro "aws-iam-authenticator": executable file not found in $PATH, o kubectl não estará configurado para o Amazon EKS. Para obter mais informações, consulte .

    Resultado:

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

Etapa 3: Iniciar e configurar os nós de operador do Amazon EKS

Agora que a VPC e o plano de controle do Kubernetes estão criados, você pode iniciar e configurar os nós de operador.

Importante

Os nós de operador do Amazon EKS são instâncias padrão do Amazon EC2, e você é cobrado por eles com base nos preços normais de instâncias sob demanda do Amazon EC2. Para obter mais informações, consulte a Definição de preço do Amazon EC2.

Para iniciar os nós de operador

  1. Aguarde até que o status do cluster seja exibido como ACTIVE. Se você executar os nós de operador antes do cluster estar ativo, ocorrerá uma falha nos nós de operador ao serem registrados com o cluster, e você terá que executá-los novamente.

  2. Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation.

  3. Na barra de navegação, selecione uma região que seja compatível com o Amazon EKS.

    nota

    O Amazon EKS está disponível nas seguintes regiões no momento:

    • Oeste dos EUA (Oregon) (us-west-2)

    • Leste dos EUA (Norte da Virgínia) (us-east-1)

    • US East (Ohio) (Leste dos EUA (Ohio)) (us-east-2)

    • EU (Ireland) (UE [Irlanda]) (eu-west-1)

  4. Selecione Create stack.

  5. Em Choose a template (Escolher um modelo), selecione Specify an Amazon S3 template URL (Especificar a URL de um modelo do Amazon S3).

  6. Cole a seguinte URL na área de texto e selecione Next (Próximo):

    https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2018-11-07/amazon-eks-nodegroup.yaml
  7. Na página Specify Details (Especificar detalhes), preencha os seguintes parâmetros conforme necessário e, em seguida, escolha Next (Próximo).

    • Stack name (Nome da pilha): escolha um nome de pilha para a pilha do AWS CloudFormation. Por exemplo, você pode chamá-la <cluster-name>-worker-nodes.

    • ClusterName: insira o nome que você usou ao criar o cluster do Amazon EKS.

      Importante

      Esse nome deve corresponder exatamente ao nome usado em Etapa 1: Criar o cluster do Amazon EKS; caso contrário, o operador de nós não poderá ingressar no cluster.

    • ClusterControlPlaneSecurityGroup: escolha o valor de SecurityGroups na saída do AWS CloudFormation que você gerou com Criar a VPC do cluster do Amazon EKS.

    • NodeGroupName: insira um nome para o grupo de nós. Esse nome pode ser usado posteriormente para identificar o grupo de nós do Auto Scaling que é criado para os nós de operador.

    • NodeAutoScalingGroupMinSize: digite o número mínimo de nós para o qual o grupo de Auto Scaling de nós de operador pode ser dimensionado.

    • NodeAutoScalingGroupDesiredCapacity: insira o número desejado de nós para o qual dimensionar quando a pilha for criada.

    • NodeAutoScalingGroupMaxSize: digite o número máximo de nós para o qual o grupo de Auto Scaling de nós de operador pode ser dimensionado.

    • NodeInstanceType: escolha um tipo de instância para os nós de operador.

    • NodeImageId: insira o ID da AMI atual do nó de operador do Amazon EKS em sua região. Os IDs de AMI para a AMI otimizada para o Amazon EKS mais recente (com ou sem suporte para o GPU ) são exibidos na tabela a seguir.

      nota

      A AMI otimizada para o Amazon EKS com suporte à GPU só oferece suporte aos tipos de instância P2 e P3. Não se esqueça de especificar esses tipos de instância no modelo de AWS CloudFormation do nó do operador. Como essa AMI inclui um software terceiro que exija um End User License Agreement (EULA – Contrato de licença do usuário final), você deve se inscrever na AMI no AWS Marketplace e aceitar o EULA para usar a AMI nos grupos de nós do operador. Para se inscrever na AMI, visite o AWS Marketplace.

      Região AMI otimizada para o Amazon EKS com suporte da GPU
      Oeste dos EUA (Oregon) (us-west-2) ami-0f54a2f7d2e9c88b3 ami-08156e8fd65879a13
      Leste dos EUA (Norte da Virgínia) (us-east-1) ami-0a0b913ef3249b655 ami-0c974dde3f6d691a1
      Leste dos EUA (Ohio) (us-east-2) ami-0958a76db2d150238 ami-089849e811ace242f
      UE (Irlanda) (eu-west-1) ami-00c3b2d35bddd4f5c ami-0c3479bcd739094f0

      nota

      A AMI do nó de operador do Amazon EKS é baseada no Amazon Linux 2. Você pode rastrear os eventos de segurança e de privacidade do Amazon Linux 2 no Centro de segurança do Amazon Linux ou inscrever-se no RSS feed associado. Os eventos de segurança e privacidade incluem uma visão geral do problema, quais pacotes são afetadas e como atualizar suas instâncias para corrigir o problema.

    • KeyName: insira o nome de um par de chaves SSH do Amazon EC2 que você pode usar para se conectar usando SSH em seus nós de operador depois de iniciados. Se você ainda não tem um par de chaves do Amazon EC2, é possível criar um no Console de gerenciamento da AWS. Para obter mais informações, consulte Pares deAmazon EC2 chaves do no Guia do usuário do Amazon EC2 para instâncias do Linux.

      nota

      Se você não fornecer um par de chaves aqui, ocorrerá uma falha na criação da pilha do AWS CloudFormation.

    • BootstrapArguments: especifique argumentos opcionais para passar para o script de bootstrap do nó de operador, como argumentos kubelet adicionais. Para obter mais informações, visualize as informações de uso do script de bootstrap em https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh

    • VpcId: digite o ID da VPC que você criou em Criar a VPC do cluster do Amazon EKS.

    • Subnets (Sub-redes): escolha as sub-redes que você criou em Criar a VPC do cluster do Amazon EKS.

  8. Na página Options (Opções), você pode optar por marcar seus recursos de pilha. Escolha Next.

  9. Na página Review (Revisão), revise as informações, confirme se a pilha pode criar recursos do IAM e, em seguida, selecione Create (Criar).

  10. Quando a criação da pilha for concluída, selecione-a no console e escolha a guia Outputs (Saídas).

  11. Registre o valor de NodeInstanceRole para o grupo de nós criado. Você precisará dele ao configurar os nós de operador do Amazon EKS.

Para habilitar os nós de operador para ingressarem no cluster

  1. Faça download, edite e aplique o mapa de configuração do autenticador da AWS:

    1. Faça download do mapa de configuração.

      curl -O https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2018-11-07/aws-auth-cm.yaml
    2. Abra o arquivo com seu editor de texto favorito. Substitua o trecho do <ARN da função de instância (não do perfil de instância)> pelo valor de NodeInstanceRole que você registrou no procedimento anterior e salve o arquivo.

      Importante

      Não modifique outras linhas nesse arquivo.

      apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: <ARN of instance role (not instance profile)> username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes
    3. Aplique a configuração. Esse comando pode demorar alguns minutos para ser concluído.

      kubectl apply -f aws-auth-cm.yaml

      nota

      Se você receber o erro "aws-iam-authenticator": executable file not found in $PATH, o kubectl não estará configurado para o Amazon EKS. Para obter mais informações, consulte .

  2. Observe o status de seus nós e aguarde até que eles atinjam o status Ready.

    kubectl get nodes --watch
  3. (Somente operadores de GPU) Se você escolheu um tipo de instância P3 ou P2 e a AMI otimizada para o Amazon EKScom suporte a GPU, você deve aplicar o plug-in de dispositivo NVIDIA para Kubernetes como um daemon definido no seu cluster com o comando a seguir.

    kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.10/nvidia-device-plugin.yml

Etapa 4: Iniciar um aplicativo de livro de convidados

Nesta seção, você cria um aplicativo de livro de convidados de exemplo para testar o novo cluster.

nota

Para obter mais informações sobre como configurar o exemplo de livro de convidados, visite https://github.com/kubernetes/examples/blob/master/guestbook-go/README.md na documentação do Kubernetes.

Para criar o aplicativo de livro de convidados

  1. Crie o controlador de replicação mestre do Redis.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/examples/guestbook-go/redis-master-controller.json

    nota

    Se você receber o erro "aws-iam-authenticator": executable file not found in $PATH, o kubectl não estará configurado para o Amazon EKS. Para obter mais informações, consulte .

    Resultado:

    replicationcontroller "redis-master" created
  2. Crie o serviço mestre do Redis.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/examples/guestbook-go/redis-master-service.json

    Resultado:

    service "redis-master" created
  3. Crie o controlador de replicação escravo do Redis.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/examples/guestbook-go/redis-slave-controller.json

    Resultado:

    replicationcontroller "redis-slave" created
  4. Crie o serviço escravo do Redis.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/examples/guestbook-go/redis-slave-service.json

    Resultado:

    service "redis-slave" created
  5. Crie o controlador de replicação do livro de convidados.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/examples/guestbook-go/guestbook-controller.json

    Resultado:

    replicationcontroller "guestbook" created
  6. Crie o serviço de livro de convidados.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/examples/guestbook-go/guestbook-service.json

    Resultado:

    service "guestbook" created
  7. Consulte os serviços no cluster e aguarde até que a coluna External IP (IP externo) do serviço guestbook seja preenchida.

    nota

    Pode levar vários minutos para que o endereço IP fique disponível.

    kubectl get services -o wide
  8. Quando o endereço IP externo estiver disponível, aponte um navegador da web para esse endereço na porta 3000 para visualizar seu livro de convidados. Por exemplo, http://a7a95c2b9e69711e7b1a3022fdcfdf2e-1985673473.us-west-2.elb.amazonaws.com:3000

    nota

    Pode levar alguns minutos para que o DNS propague e para que o livro de convidados seja mostrado.

    
                        Livro de convidados

    Importante

    Se você não puder se conectar ao endereço IP externo com seu navegador, verifique se o firewall corporativo não está bloqueando as portas que não são padrão, como a 3000. Você pode tentar alternar para uma rede convidada para verificar.

Etapa 5: Limpeza dos objetos do livro de convidados

Ao concluir o teste de seu aplicativo de livro de convidados, você deve limpar os recursos que criou para ele. O comando a seguir exclui todos os serviços e controladores de replicação do aplicativo de livro de convidados:

kubectl delete rc/redis-master rc/redis-slave rc/guestbook svc/redis-master svc/redis-slave svc/guestbook

nota

Se você receber o erro "aws-iam-authenticator": executable file not found in $PATH, o kubectl não estará configurado para o Amazon EKS. Para obter mais informações, consulte .

Se terminou de usar o cluster do Amazon EKS, você deve excluí-lo e seus recursos, para que não haja cobranças adicionais. Para obter mais informações, consulte Exclusão de um cluster.