Por Que Isso é Importante

Antes, implantar workloads de inferência em Kubernetes exigia que os times de IA navegassem por um verdadeiro labirinto de Helm charts, configurações de IAM, dependências e upgrades manuais — muitas vezes levando horas até que um único modelo pudesse servir previsões. O novo Amazon SageMaker HyperPod Inference Operator, agora disponível como add-on nativo do EKS, elimina essa complexidade com instalação em um clique e upgrades gerenciados.

Baseado no anúncio oficial do AWS Architecture Blog, este tutorial mostra o setup completo, três métodos de instalação e um exemplo real de deploy.

Pré-requisitos

  • Um cluster Amazon SageMaker HyperPod existente com orquestração EKS
  • Permissões IAM para administração do cluster EKS
  • kubectl configurado para acesso ao cluster
  • (Opcional) Terraform ou AWS CLI se preferir workflows fora do console

AWS SageMaker HyperPod cluster dashboard showing Inference Operator installation status Software Concept Art

Métodos de Instalação

Método 1: Um Clique pelo Console SageMaker (Recomendado)

  1. Acesse SageMaker Console → HyperPod Clusters → Cluster Management.
  2. Selecione o cluster e vá para a aba Inference.
  3. Escolha Quick Install (setup automático com defaults) ou Custom Install (reutilizar IAM roles, S3 buckets, etc. existentes).
  4. Clique em Install.
  5. Verifique a instalação:
kubectl get pods -n hyperpod-inference-system
aws eks describe-addon --cluster-name SEU-CLUSTER --addon-name amazon-sagemaker-hyperpod-inference --region us-west-2

Método 2: Usando AWS CLI

Para quem prefere a linha de comando, instale diretamente via APIs EKS. Todos os pré-requisitos (IAM roles, bucket S3, endpoints VPC, add-ons de dependência) precisam ser criados manualmente antes. Consulte o guia de instalação para detalhes.

aws eks create-addon \
  --cluster-name my-hyperpod-cluster \
  --addon-name amazon-sagemaker-hyperpod-inference \
  --addon-version v1.0.0-eksbuild.1 \
  --configuration-values '{
    "executionRoleArn": "arn:aws:iam::ACCOUNT-ID:role/SageMakerHyperPodInference-inference-role",
    "tlsCertificateS3Bucket": "hyperpod-tls-certificate-bucket",
    "hyperpodClusterArn": "arn:aws:sagemaker:REGION:ACCOUNT-ID:cluster/CLUSTER-ID",
    "alb": {
      "serviceAccount": {
        "create": true,
        "roleArn": "arn:aws:iam::ACCOUNT-ID:role/alb-controller-role"
      }
    },
    "keda": {
      "auth": {
        "aws": {
          "irsa": {
            "roleArn": "arn:aws:iam::ACCOUNT-ID:role/keda-operator-role"
          }
        }
      }
    }
  }' \
  --region us-west-2

Método 3: Infraestrutura como Código com Terraform

Se você gerencia infraestrutura com Terraform, use os módulos do repositório awesome-distributed-training no GitHub. Defina a variável create_hyperpod_inference_operator_module = true no seu custom.tfvars:

kubernetes_version = "1.33"
eks_cluster_name = "tf-eks-cluster"
hyperpod_cluster_name = "tf-hp-cluster"
resource_name_prefix = "tf-eks-test"
aws_region = "us-east-1"
instance_groups = [
  {
    name = "accelerated-instance-group-1"
    instance_type = "ml.g5.8xlarge"
    instance_count = 2
    availability_zone_id = "use1-az2"
    ebs_volume_size_in_gb = 100
    threads_per_core = 1
    enable_stress_check = false
    enable_connectivity_check = false
    lifecycle_script = "on_create.sh"
  }
]
create_hyperpod_inference_operator_module = true

Execute terraform apply e o add-on será implantado automaticamente.

Kubernetes pods running inference workloads on HyperPod with GPU utilization metrics Algorithm Concept Visual

Implantando Seu Primeiro Modelo

Com o add-on instalado, implante um modelo usando o recurso customizado JumpStartModel. Exemplo com DeepSeek-R1-Distill-Qwen-1.5B:

apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: JumpStartModel
metadata:
  name: deepseek-test-endpoint
spec:
  model:
    modelId: "deepseek-llm-r1-distill-qwen-1-5b"
  sageMakerEndpoint:
    name: deepseek-test-endpoint
    server:
      instanceType: "ml.g5.8xlarge"

Aplique:

kubectl apply -f deepseek-model.yaml

Deploy com Múltiplos Tipos de Instância

Para maior disponibilidade, especifique uma lista priorizada de tipos de instância. O scheduler faz fallback automaticamente:

apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: lmcache-test-1
  namespace: default
spec:
  replicas: 13
  modelName: Llama-3.1-8B-Instruct
  instanceTypes: ["ml.p4d.24xlarge","ml.g5.24xlarge","ml.g5.8xlarge"]

Node Affinity para Agendamento Granular

Use nodeAffinity nativo do Kubernetes para mirar tipos específicos de instância, excluir spot instances ou preferir zonas de disponibilidade:

apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: lmcache-test-1
  namespace: default
spec:
  replicas: 15
  modelName: Llama-3.1-8B-Instruct
  nodeAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
    - weight: 100
      preference:
        matchExpressions:
        - key: node.kubernetes.io/instanceType
          operator: In
          values: ["ml.g5.4xlarge"]
  worker:
    resources:
      limits:
        nvidia.com/gpu: "1"
      requests:
        cpu: "6"
        memory: 30Gi
        nvidia.com/gpu: "1"

Developer using SageMaker console to deploy a Llama model with one-click inference operator addon Dev Environment Setup

Benefícios e Limitações

O Que Você Ganha

  • Tempo de setup reduzido: Implante seu primeiro endpoint de inferência em minutos.
  • Menos complexidade: Adeus Helm charts manuais, ajustes de IAM e gerenciamento de dependências.
  • Upgrades gerenciados: Atualizações com um clique e suporte a rollback.
  • Funcionalidades avançadas: KV cache hierárquico integrado (redução de até 40% na latência para contextos longos), roteamento inteligente e observabilidade via Amazon Managed Grafana.

Limitações e Cuidados

  • Pré-requisitos manuais: Se usar CLI ou Terraform, você ainda precisa criar IAM roles, bucket S3 e endpoints VPC manualmente.
  • Conflitos de dependência: Se já usa cert-manager, KEDA ou ALB controller no cluster, desligue as versões empacotadas do add-on para evitar colisões.
  • Migração de Helm: Clusters com instalação via Helm exigem um script de migração (fornecido pela AWS) com suporte a rollback.

Próximos Passos

  1. Limpeza após testes: remova o add-on pelo console SageMaker ou aws eks delete-addon.
  2. Explore funcionalidades avançadas: ative o KV cache hierárquico para LLMs de contexto longo ou configure estratégias de roteamento inteligente.
  3. Escalone seus workloads: combine com treinamento distribuído em Python com Ray para pipelines de ML completos.

Para uma visão arquitetural mais ampla sobre autonomia de times e UX contínua, veja o guia sobre microfrontends verticais no Cloudflare.


Referência: AWS Architecture Blog – Unlock Efficient Model Deployment: Simplified Inference Operator Setup on Amazon SageMaker HyperPod

Este conteúdo foi elaborado com o auxílio de ferramentas de IA, com base em fontes confiáveis, e revisado pela nossa equipe editorial antes da publicação. Não substitui o aconselhamento de um profissional especializado.