Skip to main content
Kubernetes deployment is currently available for ASR (Speech-to-Text) only. For TTS deployments, use Docker.
Ensure you’ve completed all prerequisites before starting.

Add Helm Repository

Create Namespace

Configure Values

Create a values.yaml file:
values.yaml
Replace placeholder values with credentials provided by Smallest.ai support.

Install

Monitor the deployment:
ComponentStartup TimeReady Indicator
Redis~30s1/1 Running
License Proxy~1m1/1 Running
Lightning ASR2-10m1/1 Running (model download on first run)
API Server~30s1/1 Running
Model downloads are cached when using shared storage (EFS). Subsequent starts complete in under a minute.

Verify Installation

All pods should show Running status with the following services available:
ServicePortDescription
api-server7100REST API endpoint
lightning-asr-internal2269ASR inference service
license-proxy3369License validation
redis-master6379Request queue

Test the API

Port forward and send a health check:

Autoscaling

Enable automatic scaling based on real-time inference load:
values.yaml
This deploys HorizontalPodAutoscalers that scale based on active requests:
ComponentMetricDefault TargetBehavior
Lightning ASRasr_active_requests4 per podScales GPU workers based on inference queue depth
API Serverlightning_asr_replica_count2:1 ratioMaintains API capacity proportional to ASR workers

How It Works

  1. Lightning ASR exposes asr_active_requests metric on port 9090
  2. Prometheus scrapes this metric via ServiceMonitor
  3. Prometheus Adapter makes it available to the Kubernetes metrics API
  4. HPA scales pods when average requests per pod exceeds target

Configuration

values.yaml

Verify Autoscaling

The TARGETS column shows current/target. When current exceeds target, pods scale up.
Autoscaling requires the Prometheus stack. It’s included as a dependency and enabled by default.

Helm Operations

Troubleshooting

IssueCauseResolution
Pods PendingInsufficient resources or missing GPU nodesCheck kubectl describe pod <name> for scheduling errors
ImagePullBackOffInvalid registry credentialsVerify imageCredentials in values.yaml
CrashLoopBackOffInvalid license or insufficient memoryCheck logs with kubectl logs <pod> —previous
Slow model downloadLarge model size (~20GB)Use shared storage (EFS) for caching
For detailed troubleshooting, see Troubleshooting Guide.

Next Steps

AWS Setup

EKS-specific configuration

Model Storage

Shared storage for faster cold starts

Advanced Autoscaling

Fine-tune scaling behavior and thresholds

Monitoring

Grafana dashboards and alerting