Pesquisa de site

Implante cluster Kubernetes na AWS com Amazon EKS


Criando um cluster Kubernetes com Elastic Kubernetes Service

Neste artigo, aprenderemos como implantar um cluster Kubernetes na AWS com Amazon EKS e como instalar e configurar AWS CLI e Kubectl para interagir com o cluster EKS a partir da linha de comando no Linux.

Antes de implantar o cluster Kubernetes na nuvem AWS usando o Amazon Elastic Kubernetes Service, certifique-se de ter uma conta AWS. Se você não possui uma conta AWS, consulte nosso artigo Introdução à Amazon Web Services (AWS) para saber como criar uma.

1. Configure o cluster EKS (nó mestre)

Para criar um cluster EKS na AWS, você precisa ter uma função IAM criada em mãos.

1.1. Criar função IAM

Os clusters Kubernetes gerenciados pelo Amazon EKS fazem chamadas em seu nome para outros serviços da AWS para gerenciar os recursos que você utiliza com o serviço.

Você deve primeiro criar uma função do IAM com a seguinte política do IAM antes de poder construir clusters do Amazon EKS:

AmazonEKSClusterPolicy

Faça login em seu console AWS e pesquise 'IAM'. Selecione o serviço IAM para entrar no console IAM.

Pesquisar serviço IAM

Escolha Funções nas opções do lado esquerdo e clique em Criar função.

Criar função

Selecione serviços AWS e selecione 'EKS – Cluster' nas opções de casos de uso. Uma vez selecionado, clique em 'Avançar' para prosseguir.

Selecione entidade confiável para função

Certifique-se de que 'AmazonEKSClusterPolicy' seja adicionado, por padrão ele será adicionado conforme selecionamos EKS-Cluster nos casos de uso. Clique em Avançar para prosseguir.

Adicionar permissão à função

Na próxima etapa, defina o nome da função. Aqui, nomeamos a função como 'ostechnix_eks'. Revise todos os parâmetros e clique em ‘criar’ no final para criar a função.

Definir nome da função

Aqui não adicionamos nenhuma tag para esta função. Se estivermos lidando com múltiplos recursos, será útil ter tags para gerenciar, identificar e filtrar recursos.

Criar função IAM

Uma nova função chamada 'ostechnix_eks' acaba de ser criada.

Função IAM criada para cluster EKS

1.2. Criar cluster EKS

Vá para o Console AWS e pesquise com 'EKS'. Selecione 'Elastic Kubernetes Service' para entrar no console EKS.

Pesquisar serviço EKS

Na caixa suspensa 'Adicionar cluster', escolha a opção 'criar' cluster.

Adicionar novo cluster EKS

Você obterá a página ‘Configurar Cluster’, onde poderá nomear o cluster, selecionar a versão do Kubernetes e selecionar a função de serviço do cluster que criamos na etapa anterior.

Aqui, nomeamos o cluster como ‘ostechnix’ e selecionamos a versão 1.21 do Kubernetes.

Configurar cluster

Se você não encontrou a função, atualize as funções. Selecione a função e clique em 'próximo' para prosseguir.

Atualizar funções

Neste ‘Especificar rede’, você precisa configurar a rede. Aqui estamos prosseguindo com as opções padrão.

Selecione o VPC existente, VPC é Virtual Private Cloud onde você pode criar recursos AWS na rede virtual que você definiu. Continue com as sub-redes padrão disponíveis na VPC padrão.

Escolha IPv4 como a família de endereços IP do cluster. É o padrão.

Especifique detalhes de rede

Escolha 'Público' para acesso ao Cluster End Point, que permite apenas acesso público ao seu cluster. Se você escolher 'Privado', permitirá apenas acesso privado ao seu cluster. Aqui, prosseguimos com Público, que é o padrão.

Você pode prosseguir com os 'Complementos de rede' padrão e clicar em 'Avançar'.

Insira os detalhes do acesso ao endpoint e dos complementos de rede

Você verá a página 'Configurar registro', onde poderá selecionar quais tipos de registro deseja ativar. Por padrão, todos os tipos estão desabilitados. Clique em 'Avançar' para prosseguir.

Configurar detalhes de registro

Você receberá a página 'Revisar e criar'. Revise todos os detalhes que configuramos e clique em ‘Criar’ na parte inferior.

Criar cluster EKS

A criação do cluster estará em andamento. A criação levará alguns minutos.

Criação do cluster EKS em andamento

Um novo cluster EKS denominado 'ostechnix' é criado. Você pode verificar no AWS Console?Amazon EKS?Clusters.

Estado do cluster EKS

Em seguida, precisamos instalar e configurar AWS CLI e Kubectl para interagir com o cluster EKS a partir da linha de comando.

Para configurar credenciais da AWS CLI, você precisa criar credenciais de segurança no AWS IAM.

2. Crie credenciais de segurança

Faça login no console AWS e pesquise com o IAM. Selecione IAM para entrar no console do IAM.

Pesquisar serviço IAM

Selecione a opção 'Minhas credenciais de segurança' disponível à direita para criar e gerenciar suas credenciais de segurança.

Selecione a opção Minhas credenciais de segurança

Clique na caixa suspensa 'Chaves de acesso' e clique na opção 'Criar nova chave de acesso'.

Criar nova chave de acesso

Depois de clicar na opção ‘Criar nova chave de acesso’, a chave será criada. Baixe a chave para configurar o AWS CLI na máquina Linux. Você pode visualizar a chave marcando 'Mostrar chave de acesso'.

Criar chave de acesso

Nesta demonstração a chave é,

  • ID da chave de acesso: AKIAV7XU2AIJBX4EYKUO
  • Chave de acesso secreta: jicg/UZyZfb92zuYNnEAE0MVSJisHb0Mlgac2Doe

3. Instale AWS CLI

AWS CLI é uma interface de linha de comando que reúne todos os serviços da AWS em um único terminal, permitindo operar vários serviços da AWS com uma única ferramenta.

Use o comando curl abaixo para baixar o arquivo de instalação. Aqui, estamos usando 'CentOS Stream' para instalar e configurar AWS CLI.

[root@ostechnix ~]# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

Descompacte o arquivo do instalador usando o comando abaixo.

[root@ostechnix ~]# unzip awscliv2.zip

Instale o AWS CLI usando o comando abaixo.

[root@ostechnix ~]# ./aws/install
You can now run: /usr/local/bin/aws --version

Verifique a versão usando o comando mencionado acima.

[root@ostechnix ~]# /usr/local/bin/aws --version
aws-cli/2.4.17 Python/3.8.8 Linux/4.18.0-358.el8.x86_64 exe/x86_64.centos.8 prompt/off

Verifique a versão da AWS

4. Configurar AWS CLI

Use o comando abaixo para configurar a AWS CLI. Ele solicitará o ID da chave de acesso e a chave de acesso secreta que geramos na seção 2.

[root@ostechnix ~]# /usr/local/bin/aws configure
AWS Access Key ID [None]: AKIAV7XU2AIJBX4EYKUO
AWS Secret Access Key [None]: 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
Default region name [None]:
Default output format [None]:
[root@ostechnix ~]#

Configurar AWS CLI

5. Instale o Kubectl

O Kubernetes se comunica com o servidor API do cluster por meio do utilitário de linha de comando kubectl.

Use o comando curl abaixo para baixar o binário kubectl vendido do Amazon EKS do Amazon S3.

[root@ostechnix ~]# curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl

Adicione permissão de execução ao binário usando o comando abaixo.

[root@ostechnix ~]# chmod +x ./kubectl

Copie este binário para a pasta em seu caminho e exporte o ` PATH.

[root@ostechnix ~]# mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

Exporte o PATH para ~/.bashrc:

[root@ostechnix ~]# echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

Kubectl está instalado, você pode verificar a versão usando o comando abaixo.

[root@ostechnix ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712

Verifique a versão do Kubectl

6. Configurar o Kubectl

No momento, o kubectl não sabe onde o nó mestre EKS está localizado na AWS. Precisamos informar ao kubectl onde o servidor mestre está localizado, mencionando o nome da região e o nome do clusterr.

Use o comando abaixo para verificar o status do cluster EKS.

[root@ostechnix ~]# /usr/local/bin/aws eks --region ap-south-1 describe-cluster --name ostechnix --query cluster.status
"ACTIVE"

Verifique o status do cluster EKS

Atualize o arquivo kubeconfig para usar kubectl para interagir com o cluster EKS. Ele irá buscar todas as configurações do nó mestre para o arquivo kubeconfig.

[root@ostechnix ~]# /usr/local/bin/aws eks --region ap-south-1 update-kubeconfig --name ostechnix
Added new context arn:aws:eks:ap-south-1:411756528146:cluster/ostechnix to /root/.kube/config

Verifique o kubectl verificando o serviço usando o comando abaixo. Você pode garantir que o Kubectl seja capaz de se conectar ao cluster EKS.

[root@ostechnix ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   105m

Obtenha detalhes do serviço com o comando kubectl

Conclusão

Neste artigo, aprendemos como provisionar cluster Amazon EKS e como configurar AWS CLI e Kubectl para o cluster EKS na plataforma Linux.

Implantei com sucesso o cluster Kubernetes na nuvem AWS, e agora? Você pode se perguntar. Verifique nosso próximo guia para saber como adicionar grupos de nós e configurar os nós de trabalho no cluster AWS EKS.

  • Como adicionar nós de trabalho ao cluster do Amazon EKS

Recurso:

  • https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html

Artigos relacionados