You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/user/component-catalog.md
+44-16Lines changed: 44 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ The source of truth is [`recipes/registry.yaml`](https://github.com/NVIDIA/aicr/
28
28
|**prometheus-adapter**| Exposes custom metrics from Prometheus to the Kubernetes metrics API. Enables HPA scaling based on GPU utilization and other custom metrics. |[prometheus-adapter](https://github.com/kubernetes-sigs/prometheus-adapter)|
29
29
|**aws-ebs-csi-driver**| CSI driver for Amazon EBS volumes. Provides persistent storage for workloads on EKS. EKS-specific. **Cluster-wide default StorageClass:** AICR enables `defaultStorageClass.enabled`, so this component provisions a **cluster-default** gp3 StorageClass (`ebs-csi-default-sc`) on **every** EKS cluster that includes it — not just inference recipes; training overlays inherit it too. EKS ships no default SC of its own, so this makes dynamic provisioning (e.g. the inference-perf model cache) work zero-config. Two consequences to note: (1) if the cluster already has a default SC, Kubernetes treats multiple defaults as ambiguous — unset the other; (2) a PVC that previously failed-fast on "no default SC" will now silently bind gp3, which can mask a misconfiguration. |[AWS EBS CSI Driver](https://github.com/kubernetes-sigs/aws-ebs-csi-driver)|
30
30
|**k8s-ephemeral-storage-metrics**| Exports ephemeral storage usage metrics per pod. Useful for monitoring scratch space consumption on GPU nodes. |[k8s-ephemeral-storage-metrics](https://github.com/jmcgrath207/k8s-ephemeral-storage-metrics)|
31
-
|**k8s-aibom**| Optional runtime AI workload inventory. Produces namespace-scoped CycloneDX 1.6 ML-BOM resources for explicitly opted-in namespaces. Registry-only: no stock recipe installs it. CLI aliases: `k8saibom`, `aibom`. See [k8s-aibom Runtime Inventory](#k8s-aibom-runtime-inventory). |[k8s-aibom](https://github.com/GoogleCloudPlatform/k8s-aibom)|
31
+
|**k8s-aibom**| Optional runtime AI workload inventory. Produces namespace-scoped CycloneDX 1.6 ML-BOM resources for explicitly opted-in namespaces. Installed by one stock recipe, `h100-gke-cos-inference`; every other stock recipe leaves it out. Decline it with `aicr recipe --runtime-inventory disabled`. CLI aliases: `k8saibom`, `aibom`. See [k8s-aibom Runtime Inventory](#k8s-aibom-runtime-inventory). |[k8s-aibom](https://github.com/GoogleCloudPlatform/k8s-aibom)|
32
32
|**kai-scheduler**| Gang scheduler with hierarchical queues and topology-aware placement; works with device-plugin (`nvidia.com/gpu`) and DRA GPU allocation alike. Ensures distributed training jobs land on nodes with optimal interconnect topology. |[KAI Scheduler](https://github.com/kai-scheduler/KAI-Scheduler)|
33
33
|**grove**| Pod lifecycle management for Dynamo inference platform. Installed as a standalone component. |[Grove](https://github.com/ai-dynamo/grove)|
34
34
|**dynamo-platform**| NVIDIA Dynamo inference serving platform with bundled CRDs. Distributed inference with KV-cache-aware routing, Dynamo request-plane traffic, a NATS-backed Kubernetes event plane for KV-cache events, and disaggregated prefill/decode. |[Dynamo](https://github.com/ai-dynamo/dynamo)|
@@ -291,9 +291,17 @@ AICR enforces and surfaces inference-gateway exposure in two places:
291
291
## k8s-aibom Runtime Inventory
292
292
293
293
AICR qualifies k8s-aibom v1.3.0 as an optional Helm component. It is not in
294
-
the base, a mixin, or any stock overlay. To enable it, add this reference to a
295
-
custom or external overlay and keep that overlay's criteria as narrow as the
296
-
intended rollout:
294
+
the base or a mixin. Exactly one stock recipe installs it,
295
+
`h100-gke-cos-inference`, under [ADR-019](https://github.com/NVIDIA/aicr/blob/main/docs/design/019-k8s-aibom-runtime-inventory.md)'s
296
+
stock-adoption amendment. Decline it at generation time with
297
+
`aicr recipe --runtime-inventory disabled`, described below.
298
+
299
+
`h100-gke-cos-inference-dynamo`inherits from that recipe and deliberately
300
+
declines the component, so the Dynamo platform recipe deploys exactly what it
301
+
did before. Adoption beyond the one recipe is a later decision.
302
+
303
+
To enable it anywhere else, add this reference to a custom or external overlay
304
+
and keep that overlay's criteria as narrow as the intended rollout:
297
305
298
306
```yaml
299
307
spec:
@@ -366,21 +374,28 @@ storage. So the check catches a stranded upgrade that crosses a
366
374
storage-version boundary, such as the 1.2.0 to 1.3.0 move this pin made, and
367
375
does not catch one within a boundary, such as 1.0.0 to 1.2.0.
368
376
369
-
**Declining the component.** No stock recipe declares `k8s-aibom` today, so the
370
-
flag applies to a recipe that adds it through a custom overlay — the shape shown
371
-
above. Point `--data` at the directory holding that overlay and generate with
372
-
`--runtime-inventory disabled`:
377
+
**Declining the component.** `h100-gke-cos-inference` installs `k8s-aibom` by
0 commit comments