Deploy with Helm#
Alpamayo1.5 NIM can be deployed on Kubernetes with the NVIDIA NIM WFM Helm chart. To use Helm, you need a Kubernetes cluster with supported NVIDIA GPU nodes and the GPU Operator installed.
For supported GPUs and profile constraints, refer to Support Matrix.
Prerequisites#
Create an NGC_API_KEY and authenticate to NGC as described in
Quickstart Guide.
After you have an NGC API key, download the nim-wfm Helm chart from NGC.
Select the chart version from the
NGC Catalog.
The following prompt avoids a hidden placeholder in subsequent commands:
read -r -p 'NIM WFM chart version shown in NGC Catalog: ' NIM_WFM_VERSION
test -n "$NIM_WFM_VERSION"
helm fetch "https://helm.ngc.nvidia.com/nim/charts/nim-wfm-${NIM_WFM_VERSION}.tgz" \
--username='$oauthtoken' \
--password=$NGC_API_KEY
You can inspect the chart README and values before deploying:
helm show readme "nim-wfm-${NIM_WFM_VERSION}.tgz"
helm show values "nim-wfm-${NIM_WFM_VERSION}.tgz"
Create Kubernetes Secrets#
Create one secret for pulling the container image and one secret for model asset downloads:
kubectl create secret docker-registry ngc-secret \
--docker-server=nvcr.io \
--docker-username='$oauthtoken' \
--docker-password=$NGC_API_KEY
kubectl create secret generic ngc-api \
--from-literal=NGC_API_KEY=$NGC_API_KEY
Configure Values#
Create a custom-values.yaml file. The following example deploys one
trajectory sample value with a persistent model cache. The NIM automatically
selects a compatible profile for the visible GPU.
image:
repository: nvcr.io/nim/nvidia/alpamayo1.5
tag: 1.0.0
imagePullSecrets:
- name: ngc-secret
model:
name: nvidia/alpamayo1.5
ngcAPISecret: ngc-api
apiPort: 8000
nimCache: /opt/nim/.cache
persistence:
enabled: true
size: 150Gi
resources:
limits:
nvidia.com/gpu: 1
startupProbe:
failureThreshold: 360
env:
- name: NIM_ALPAMAYO_TRAJ_SAMPLES
value: "1"
To request a specific precision, add NIM_PRECISION with one of bf16,
fp8, or w4a16. Refer to
Support Matrix for supported GPU and precision combinations.
Do not set NGC_API_KEY or NIM_CACHE_PATH through the env list. Use
model.ngcAPISecret for the NGC key and model.nimCache for the cache path
inside the container. Configure persistence to provide writable storage at
that path.
The generic nim-wfm chart exposes the HTTP API service port. Alpamayo1.5 NIM
also listens on gRPC port 50051 for low-latency trajectory serving. If your
production clients use gRPC, expose port 50051 with your cluster service
configuration or a chart version that supports an additional service port.
Launch the NIM#
Install the chart with your custom values:
helm install alpamayo-nim "nim-wfm-${NIM_WFM_VERSION}.tgz" \
-f custom-values.yaml
Wait for the pod to become ready:
kubectl get pods
kubectl logs -f statefulset/alpamayo-nim-nim-wfm
Run Inference#
Port-forward the HTTP service:
kubectl port-forward service/alpamayo-nim-nim-wfm 8000:http-api
Then verify readiness:
curl -sS http://localhost:8000/v1/health/ready
For request examples, refer to Quickstart Guide and API Reference.
Troubleshooting#
If the pod is stuck in Pending, check scheduling events:
kubectl describe pod <pod-name>
Common causes are missing GPU resources, node taints without matching tolerations, and storage configuration issues.
If startup fails before readiness, inspect the container logs:
kubectl logs -f <pod-name>
Large first-run model downloads and model materialization can take time. Use a
persistent cache volume and increase startupProbe.failureThreshold if your
cluster has slow model storage or network access.