Browse by type
One API. Any inference architecture.
Grove is a Kubernetes API that provides a single declarative interface for orchestrating any AI inference workload — from simple, single-pod deployments to complex multi-node, disaggregated systems. Grove lets you scale your multinode inference deployment from a single replica to data center scale, supporting tens of thousands of GPUs. It allows you to describe your whole inference serving system in Kubernetes - e.g. prefill, decode, routing or any other component - as a single Custom Resource (CR). From that one spec, the platform coordinates hierarchical gang scheduling, topology‑aware placement, multi-level autoscaling and explicit startup ordering. You get precise control of how the system behaves without stitching together scripts, YAML files, or custom controllers.
Get Grove running in 5 minutes on a local kind cluster.
# 1. Create a local kind cluster
cd operator && make kind-up
# 2. Deploy Grove
make deploy
# 3. Deploy your first workload
kubectl apply -f samples/simple/simple1.yaml
# 4. Fetch the resources created by grove
kubectl get pcs,pclq,pcsg,pg,pod -o wide
Follow along with this example in the → Quickstart Doc
For more install options including local and remote K8s clusters, see the → Installation Docs
Modern AI inference workloads need capabilities that Kubernetes natively doesn't provide out-of-the-box:
Grove introduces four simple concepts:
| Concept | Description |
|---|---|
| PodClique | A group of pods representing a specific role (e.g., leader, worker, frontend). Each clique has an independent configuration and supports custom scaling logic. |
| PodCliqueScalingGroup | A set of PodCliques that scale and are scheduled together as a gang. Ideal for tightly coupled roles like prefill leader and worker. |
| PodCliqueSet | The top-level Grove object that defines a group of components managed and colocated together. Also supports autoscaling with topology aware spread of PodCliqueSet replicas for availability. |
| PodGang | The scheduler API that defines a unit of gang-scheduling. A PodGang is a collection of groups of similar pods, where each pod group defines a minimum number of replicas guaranteed for gang-scheduling. |
Get started with a step-by-step hands-on Grove tutorial here → Core Concepts Overview
Refer to all Grove APIs here → API Reference
Please read the contribution guide before creating you first PR!
Grove is an open-source project and we welcome community engagement!
Please feel free to start a discussion thread if you want to discuss a topic of interest.
In case, you have run into any issue or would like a feature enhancement, please create a GitHub Issue with the appropriate tag.
To directly reach out to the Grove user and developer community, please join the NVIDIA Dynamo Discord server, or Grove mailing list.
browse all types & interfaces →
$ claude mcp add grove \
-- python -m otcore.mcp_server <graph>