Desplegar en Amazon EKS
Esta página explica cómo crear el archivo de valores Helm e instalar AI Cockpit: Smart Engineering en Amazon EKS.
Crear el archivo values.yaml
Empieza a partir de los valores por defecto del 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
El siguiente ejemplo muestra una configuración común 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 cómo el cliente configure el cifrado de los buckets:
- Usa
AES256para el camino por defecto con cifrado administrado por S3 - Usa
aws:kmssolo si los buckets de destino están configurados con KMS y el rol IAM de runtime tiene los permisos necesarios sobre la clave
Instalar el producto
Usa los parámetros de Marketplace junto con tu archivo 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}
Si ${AWSMP_SERVICE_ACCOUNT} no existe en el namespace, crea primero la service account y luego informa su nombre explícitamente en el comando de instalación o en values.yaml.
Qué ocurre durante la instalación
La instalación crea:
- deployment y service del frontend
- deployment y service de la API
- deployment del worker
- job de migración
- stateful set y service de PostgreSQL
- stateful set y service de Valkey
- deployment y service opcionales del gateway
- recursos de ingress cuando están habilitados
El job de migración se ejecuta automáticamente después de la instalación y de cada upgrade.
Verificar el despliegue
Después de completar la instalación, revisa los recursos:
kubectl get pods -n aic-modernization
kubectl get svc -n aic-modernization
kubectl get ingress -n aic-modernization
El despliegue está listo cuando:
- el pod de la API está saludable
- el pod del worker está saludable
- PostgreSQL y Valkey están en ejecución
- el job de migración ha finalizado
Validar los endpoints de runtime
Puedes validar la API con 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
Si el gateway está habilitado:
kubectl port-forward svc/aic-modernization-gateway -n aic-modernization 8080:8080
curl http://localhost:8080/health
La respuesta de health de la API incluye el estado actual de la licencia, lo que resulta útil durante la primera validación de Marketplace.