terça-feira, 19 de novembro de 2024

Criando um Cluster Kubernetes com AWS-EKS usando eksctl

Criando um Cluster Kubernetes com AWS-EKS usando eksctl

Criando um Cluster Kubernetes com AWS-EKS usando eksctl

Última atualização: 19 de Novembro de 2024 por Paulo Evaristo Ferreira da Silva

Introdução

Neste guia, vamos configurar um cluster Kubernetes no Amazon Elastic Kubernetes Service (AWS-EKS) utilizando a ferramenta eksctl. Essa abordagem simplifica o processo de criação e gerenciamento de clusters Kubernetes na AWS.

Pré-requisitos

  • Instalar AWS CLI
  • Instalar kubectl
  • Instalar eksctl
  • Credenciais de um usuário IAM configuradas no AWS CLI

Passo 1: Instalar AWS CLI

# Baixar e instalar a AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

# Verificar a versão instalada
aws --version

Passo 2: Configurar AWS CLI

# Configurar o AWS CLI
aws configure

# Forneça as seguintes informações:
# AWS Access Key ID [None]: SUA_CHAVE
# AWS Secret Access Key [None]: SUA_SENHA
# Default region name [None]: us-east-1
# Default output format [None]: json

Passo 3: Instalar kubectl

Baixe a versão recomendada para o Amazon EKS:

curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

# Verificar a versão instalada
kubectl version --client

Passo 4: Instalar eksctl

# Instalar eksctl
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"
tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz
sudo mv /tmp/eksctl /usr/local/bin
eksctl version

Passo 5: Criar o Cluster AWS EKS

Agora podemos criar um cluster usando o comando eksctl:

eksctl create cluster --name=eksdemo1 \
                      --region=us-east-1 \
                      --zones=us-east-1a,us-east-1b \
                      --without-nodegroup

Passo 6: Criar Node Groups

Adicione grupos de nós (nodes) ao cluster:

eksctl create nodegroup --cluster=eksdemo1 \
                        --region=us-east-1 \
                        --name=eksdemo1-ng-public1 \
                        --node-type=t3.medium \
                        --nodes=2 \
                        --nodes-min=2 \
                        --nodes-max=4 \
                        --node-volume-size=20 \
                        --ssh-access \
                        --ssh-public-key=kube-demo \
                        --managed

Passo 7: Verificar o Cluster e os Nós

# Listar clusters
eksctl get cluster

# Listar grupos de nós
eksctl get nodegroup --cluster=eksdemo1

# Verificar os nós do cluster Kubernetes
kubectl get nodes -o wide

Preço do EKS Cluster

O custo do EKS depende de diversos fatores:

  • Custo do Cluster: $0.10 por hora, ou aproximadamente $72 por 30 dias.
  • Nós EC2: Por exemplo, um t3.medium custa cerca de $0.0416 por hora, resultando em $30 por mês por nó.
  • Perfis Fargate: Cobrança baseada no uso de vCPU e memória.

Se você rodar 1 cluster com 2 nós t3.medium continuamente por 5 dias, o custo será em torno de $25.

Apagando o Cluster

Para evitar custos desnecessários, apague os recursos quando não estiverem mais em uso:

Passo 1: Apagar Node Groups

eksctl delete nodegroup --cluster=eksdemo1 --name=eksdemo1-ng-public1

Passo 2: Apagar o Cluster

eksctl delete cluster eksdemo1

Notas Importantes:

  • Certifique-se de reverter quaisquer alterações de segurança feitas em grupos de segurança antes de apagar o cluster.
  • Revise e remova alterações em políticas IAM associadas aos nós EC2.

Conclusão

Com este guia, você pode criar, gerenciar e apagar clusters Kubernetes no Amazon EKS de forma eficiente. Certifique-se de monitorar os custos para evitar surpresas no faturamento.

 

bobox

Blogger news