Plano de controle e nós de trabalho do EKS
Entenda o que a AWS gerencia no plano de controle do EKS, provisione grupos de nós gerenciados e conecte o kubectl ao seu cluster.
Plano de controle e nós de trabalho do EKS é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
O que é o Amazon EKS?
O Amazon Elastic Kubernetes Service (EKS) é um serviço Kubernetes totalmente gerenciado que elimina a necessidade de instalar, operar e manter o plano de controle do Kubernetes. O AWS executa, dimensiona e atualiza o plano de controle em várias zonas de disponibilidade, fornecendo um endpoint de cluster altamente disponível. Você se concentra inteiramente na implantação e no gerenciamento das cargas de trabalho da sua aplicação.
O plano de controle do EKS
O plano de controle do EKS consiste no servidor da API, no etcd, no gerenciador de controladores e no agendador — todos gerenciados pelo AWS. Esses componentes são executados em contas pertencentes ao AWS, portanto você nunca acessa esses componentes por SSH. O AWS garante um SLA de 99,95% para o endpoint da API do EKS e substitui automaticamente os nós não íntegros do plano de controle. Você paga uma tarifa fixa por cluster e por hora pelo plano de controle.
Criando um cluster EKS
Você pode criar um cluster EKS usando o console do AWS, eksctl ou CloudFormation. O cluster exige uma VPC com sub-redes distribuídas em pelo menos duas AZs e uma função do IAM que conceda ao plano de controle do Kubernetes permissão para chamar APIs do AWS. Depois de criado, o endpoint do cluster será uma URL HTTPS que você configurará no seu kubeconfig.
# Create a cluster with eksctl (recommended for getting started)
eksctl create cluster \
--name my-cluster \
--region us-east-1 \
--version 1.29 \
--nodegroup-name standard-nodes \
--node-type m5.large \
--nodes 3 \
--nodes-min 1 \
--nodes-max 5Conectando o kubectl ao EKS
Depois de criar o cluster, atualize o kubeconfig local para que o kubectl saiba como acessar o servidor da API do EKS. A CLI do AWS gera automaticamente a entrada necessária. O servidor da API do EKS usa o AWS IAM para autenticação; seu usuário ou função do IAM é associado a uma identidade RBAC do Kubernetes por meio do aws-auth ConfigMap.
# Update kubeconfig for your EKS cluster
aws eks update-kubeconfig \
--region us-east-1 \
--name my-cluster
# Verify connectivity
kubectl get nodes
kubectl get pods --all-namespacesGrupos de nós gerenciados
Os grupos de nós gerenciados permitem que o AWS provisione, registre e gerencie o ciclo de vida dos nós de trabalho do EC2 em seu nome. Quando você solicita uma atualização ou substituição, o EKS drena automaticamente os pods, substitui a instância e registra o nó novamente, tudo sem intervenção manual. Os grupos de nós gerenciados usam Auto Scaling Groups internamente, oferecendo controle da capacidade mínima, máxima e desejada, além de integração com o Cluster Autoscaler.
# Add a managed node group to an existing cluster
eksctl create nodegroup \
--cluster my-cluster \
--region us-east-1 \
--name high-mem-nodes \
--node-type r6i.large \
--nodes 2 \
--nodes-min 1 \
--nodes-max 10 \
--managedGrupos de nós autogerenciados
Com grupos de nós autogerenciados, você inicia as instâncias do EC2 por conta própria (por meio do CloudFormation ou do Terraform) e as registra no cluster EKS executando o script de Bootstrap. Isso oferece flexibilidade máxima: você pode usar AMIs personalizadas, tipos de instância com GPU ou configurações de kernel altamente personalizadas; porém, você é totalmente responsável por aplicar correções, drenar e substituir os nós.
# Bootstrap script baked into the launch template
/etc/eks/bootstrap.sh my-cluster \
--apiserver-endpoint 'https://EXAMPLE.gr7.us-east-1.eks.amazonaws.com' \
--b64-cluster-ca 'BASE64_ENCODED_CA' \
--kubelet-extra-args '--node-labels=role=custom'Função do IAM do nó e perfil da instância
Cada nó de trabalho deve ser executado com um perfil de instância do EC2 que tenha três políticas gerenciadas pelo AWS: AmazonEKSWorkerNodePolicy, AmazonEKS_CNI_Policy e AmazonEC2ContainerRegistryReadOnly. Elas permitem que o nó entre no cluster, gerencie a rede dos pods com o plugin VPC CNI e extraia imagens do ECR. Sem essas políticas, os nós não conseguirão se registrar.
# Attach required policies to the node role
aws iam attach-role-policy \
--role-name EKSNodeRole \
--policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
aws iam attach-role-policy \
--role-name EKSNodeRole \
--policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
aws iam attach-role-policy \
--role-name EKSNodeRole \
--policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnlyConfigMap aws-auth: associação de IAM a RBAC
O EKS usa o ConfigMap aws-auth no namespace kube-system para associar usuários e funções do IAM a nomes de usuário e grupos do Kubernetes. Quando você cria um cluster, somente a identidade do IAM do criador recebe automaticamente acesso de administrador. Para permitir que outros usuários ou funções de CI/CD acessem o cluster, você deve adicionar entradas a este ConfigMap usando as chaves mapRoles ou mapUsers corretas.
# View and edit the aws-auth ConfigMap
kubectl describe configmap aws-auth -n kube-system
# Add a role mapping (example YAML fragment)
# mapRoles:
# - rolearn: arn:aws:iam::111122223333:role/EKSNodeRole
# username: system:node:{{EC2PrivateDNSName}}
# groups:
# - system:bootstrappers
# - system:nodesComplementos do EKS e atualizações do cluster
Os complementos do EKS são componentes de software selecionados e validados pelo AWS — como o VPC CNI, o CoreDNS e o kube-proxy — que o EKS pode instalar e manter atualizados em seu nome. Quando você atualiza a versão do Kubernetes do cluster, primeiro atualiza o plano de controle e, em seguida, cada grupo de nós gerenciado para a versão correspondente. O EKS é compatível com uma diferença de até uma versão secundária entre o plano de controle e os nós durante a janela de implementação.
# List available add-ons and their versions
aws eks describe-addon-versions \
--kubernetes-version 1.29 \
--query 'addons[].{Name:addonName,Versions:addonVersions[0].addonVersion}' \
--output table
# Update the VPC CNI add-on
aws eks update-addon \
--cluster-name my-cluster \
--addon-name vpc-cni \
--addon-version v1.16.0-eksbuild.1Segurança do EKS: acesso ao endpoint e criptografia
O endpoint do servidor da API do EKS pode ser configurado como somente público, somente privado ou ambos. Os endpoints públicos são protegidos pela autenticação do IAM; os endpoints somente privados exigem que o kubeconfig acesse a VPC por meio de VPN ou Direct Connect. Você também pode ativar a criptografia de envelope dos segredos do Kubernetes em repouso usando uma chave do AWS KMS, fornecendo uma camada adicional de proteção para dados de configuração confidenciais.
# Enable private endpoint and envelope encryption at cluster creation
aws eks create-cluster \
--name secure-cluster \
--kubernetes-version 1.29 \
--role-arn arn:aws:iam::111122223333:role/EKSClusterRole \
--resources-vpc-config subnetIds=subnet-xxx,securityGroupIds=sg-xxx,endpointPublicAccess=false,endpointPrivateAccess=true \
--encryption-config '[{"provider":{"keyArn":"arn:aws:kms:us-east-1:111122223333:key/KEY_ID"},"resources":["secrets"]}]'Cluster Autoscaler no EKS
O Cluster Autoscaler é um pod do Kubernetes que monitora pods não agendáveis e ajusta automaticamente o tamanho dos grupos de Auto Scaling de nós gerenciados. Quando os pods não podem ser agendados por falta de recursos, o Cluster Autoscaler aumenta a escala. Quando os nós estão subutilizados e seus pods podem ser reagendados em outro local, ele reduz a escala. É necessário ter permissões do IAM para chamar a API do Auto Scaling do EC2 por meio do IRSA.
# Deploy Cluster Autoscaler (abbreviated)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/autoscaler/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-autodiscover.yaml
# Add required annotation so it discovers your cluster ASGs
kubectl annotate serviceaccount cluster-autoscaler \
-n kube-system \
eks.amazonaws.com/role-arn=arn:aws:iam::111122223333:role/ClusterAutoscalerRoleVerificação rápida
Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) apresentados nesta lição.
Recapitulação da lição
Nesta lição, você aprendeu que: AWS gerencia o plano de controle do EKS com um SLA de 99,95%; os grupos de nós gerenciados permitem que a AWS cuide do ciclo de vida dos nós, enquanto os grupos autogerenciados oferecem o máximo de personalização; e o ConfigMap aws-auth mapeia identidades do IAM para o RBAC do Kubernetes, controlando o acesso ao cluster. A seguir, exploraremos os perfis do Fargate para a execução sem servidor de pods.
Perguntas Frequentes
A aula “Plano de controle e nós de trabalho do EKS” é grátis?
Sim — o texto completo de “Plano de controle e nós de trabalho do EKS” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
O que vou aprender em “Plano de controle e nós de trabalho do EKS”?
Entenda o que a AWS gerencia no plano de controle do EKS, provisione grupos de nós gerenciados e conecte o kubectl ao seu cluster. Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cloud & IT Cert Prep?
Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Plano de controle e nós de trabalho do EKS”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?
Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Plano de controle e nós de trabalho do EKS
- Perfis do Fargate para pods sem servidor
- Rede do EKS: VPC CNI e balanceamento de carga
- Funções do IAM para contas de serviço (IRSA)