Skip to main content

Prerequisites

  • A Kubernetes cluster with at least one GPU node
  • Helm 3.8+ and kubectl
  • Access token from the Tensormesh team for the chart registry
  • A Hugging Face token for model download
  • cert-manager — the chart enables its webhook by default and rendering requires the cert-manager APIs

Step 1 — install Dynamo

Step 2 — create the model access secret

Both the frontend and the worker reference hf-token-secret; the pods fail to start without it.

Step 3 — install the Tensormesh Operator

Write the values file — the engine tag is pinned to the LMCache version bundled in the Dynamo image (see the version-matching note above):
my-values.yaml
Wait for the engine to reconcile, and note the ConfigMap it publishes — the worker mounts it in the next step:

Step 4 — deploy vLLM and the frontend in Dynamo

Save as agg.yaml. Compared to Dynamo’s stock aggregated example, the worker carries the LMCache wiring; the frontend is unchanged.
agg.yaml

Why each change exists

Step 5 — send a request

Verify the cache is working

Send the same long prompt twice (it must exceed the engine’s chunk_size — 256 tokens by default — or nothing is stored). The response’s usage block reports the reuse from the vLLM side:
And the engine pod on the worker’s node logs both sides of the transaction:
A Creating v1 connector with name: LMCacheMPConnector line in the worker’s log and a Registered KV cache for GPU ID ... with N layers line in the engine’s log confirm the CUDA IPC handshake completed at startup.