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
AES256no caminho padrão com criptografia gerenciada pelo S3 - Use
aws:kmsapenas 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.