Pular para o conteúdo principal

Implantando no Amazon EKS

Esta página explica como criar o arquivo de valores Helm e instalar o AI Cockpit: Smart Engineering no Amazon EKS.

Criar o arquivo values.yaml

Comece a partir dos valores padrão do chart publicado:

helm show values oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/compass-uol/ai-cockpit/smart-engineering-chart/aic-modernization \
--version 0.1.12 > values.yaml

O exemplo abaixo mostra uma configuração comum para EKS:

serviceAccount:
create: false
name: aic-modernization

runtime:
commonEnv:
AWS_REGION: "us-east-1"
AWS_WORKLOAD_IDENTITY_MODE: "irsa"
AUTH_MODE: "disabled"
AUTH_DISABLED: "true"
ALLOWED_ORIGINS: "https://smart-eng.example.com,https://api.smart-eng.example.com"
ROOT_PATH: ""
S3_UPLOAD_SERVER_SIDE_ENCRYPTION: "AES256"

s3:
sourceBucket: "smart-eng-source"
outputBucket: "smart-eng-output"
workspaceBucket: "smart-eng-workspace"

bedrock:
modelId: "amazon.nova-pro-v1:0"
modelIdSmall: "amazon.nova-lite-v1:0"

marketplace:
organizationId: "1"
organizationName: "Marketplace"

gateway:
enabled: true
env:
AUTH_DISABLED: "true"
BEDROCK_CATALOG_ENABLED: "true"
CORS_ALLOW_ORIGINS: "https://smart-eng.example.com"

ingress:
enabled: true
className: nginx
frontendHost: smart-eng.example.com
apiHost: api.smart-eng.example.com
gatewayHost: gateway.smart-eng.example.com
tls:
- hosts:
- smart-eng.example.com
- api.smart-eng.example.com
- gateway.smart-eng.example.com
secretName: smart-eng-tls

S3_UPLOAD_SERVER_SIDE_ENCRYPTION depende de como o cliente configurou a criptografia dos buckets:

  • Use AES256 no caminho padrão com criptografia gerenciada pelo S3
  • Use aws:kms apenas se os buckets de destino estiverem configurados com KMS e a role IAM de runtime tiver as permissões necessárias na chave

Instalar o produto

Use os parâmetros do Marketplace junto com o seu arquivo de valores:

helm upgrade --install aic-modernization \
oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/compass-uol/ai-cockpit/smart-engineering-chart/aic-modernization \
--version 0.1.12 \
--namespace aic-modernization \
--create-namespace \
-f values.yaml \
--set serviceAccount.name=${AWSMP_SERVICE_ACCOUNT}

Se ${AWSMP_SERVICE_ACCOUNT} não existir no namespace, crie a service account primeiro e depois informe o nome explicitamente no comando de instalação ou no values.yaml.

O que acontece durante a instalação

A instalação cria:

  • deployment e service do frontend
  • deployment e service da API
  • deployment do worker
  • job de migração
  • stateful set e service do PostgreSQL
  • stateful set e service do Valkey
  • deployment e service opcionais do gateway
  • recursos de ingress quando habilitados

O job de migração roda automaticamente após instalação e upgrade.

Verificar a implantação

Depois que a instalação terminar, verifique os recursos:

kubectl get pods -n aic-modernization
kubectl get svc -n aic-modernization
kubectl get ingress -n aic-modernization

A implantação está pronta quando:

  • o pod da API está saudável
  • o pod do worker está saudável
  • PostgreSQL e Valkey estão em execução
  • o job de migração foi concluído

Validar os endpoints de runtime

Você pode validar a API com port-forward:

kubectl port-forward svc/aic-modernization-api -n aic-modernization 3000:3000
curl http://localhost:3000/health
curl http://localhost:3000/config/runtime

Se o gateway estiver habilitado:

kubectl port-forward svc/aic-modernization-gateway -n aic-modernization 8080:8080
curl http://localhost:8080/health

A resposta de health da API inclui o status atual da licença, o que é útil durante a primeira validação do Marketplace.