cluster-readiness-engine

module
v0.1.0-rc.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2026 License: Apache-2.0

README

CRE

A Kubernetes controller for GPU cluster certification, orchestrated benchmarking, and hardware failure detection. Run real distributed workloads across topology-aware node groups, measure training performance, detect hardware failures, and automatically quarantine bad nodes — before production workloads touch the cluster.

Install

# Install the CLI
curl -sSL https://github.com/NVIDIA/cluster-readiness-engine/releases/latest/download/installer | bash
# Include pre-release versions:
curl -sSL https://github.com/NVIDIA/cluster-readiness-engine/releases/latest/download/installer | bash -s -- -p

# Set up the cluster (installs Kubeflow Trainer, CRDs, controller, and LogProfiles)
ncrectl setup init

Certify a GPU cluster

apiVersion: cre.nvidia.com/v1alpha1
kind: Certification
metadata:
  name: gpu-cluster-cert
spec:
  target:
    nodeSelector:
      nvidia.com/gpu.present: "true"
  categories:
    - domain: communication
      variant: nccl-all-reduce
    - domain: training
      variant: nemotron5-8b
kubectl apply -f certification.yaml
kubectl get certifications.cre.nvidia.com -w

Or run the full lifecycle with ncrectl (setup, run, report, cleanup):

ncrectl certification run --cert-file certification.yaml --image-pull-secret $NGC_API_KEY --wait

Run a training workload

WorkloadRun is a simplified API for running training, NCCL, or custom workloads. Provide an image, framework, and node count — CRE auto-detects the platform and GPU architecture.

apiVersion: cre.nvidia.com/v1alpha1
kind: WorkloadRun
metadata:
  name: nccl-all-reduce
spec:
  image: nvcr.io/nvidia/pytorch:26.01-py3
  framework:
    mpi:
      binary: /usr/local/bin/all_reduce_perf_mpi
      args: ["-b", "8", "-e", "32G", "-f", "2", "-n", "100"]
  numNodes: 4
  bandwidthMeasurement:
    logProfileRef: nccl-bandwidth
    testType: all_reduce
ncrectl workloadrun run --image-pull-secret $NGC_API_KEY --wait my-workload.yaml

Documentation

Full documentation: github.com/NVIDIA/cluster-readiness-engine

Getting Started Install ncrectl and set up the cluster
Tutorials Quick Start, WorkloadRun walkthroughs, NCCL test
Concepts API hierarchy, workload types, health monitoring, remediation, goodput
How-to Guides Certify clusters, WorkloadRun, benchmarks, adaptive fault isolation, gray failures
Reference CRD specs (Job, Workflow, Certification, WorkloadRun), ncrectl CLI, metrics
Operations Deployment, monitoring, troubleshooting, FAQ
Design Decisions Architecture Decision Records (docs/designs/)

Development

make manifests generate    # Regenerate CRDs and DeepCopy
make lint                  # Lint
make test                  # Unit + integration tests
make build                 # Build binary

License

Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. Licensed under the Apache License, Version 2.0. See LICENSE for details.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the cluster-readiness-engine v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the cluster-readiness-engine v1alpha1 API group.
cmd
manager command
ncrectl command
pkg
catalog
Package catalog maps certification categories (domain/variant) to pre-configured WorkflowSpec builders.
Package catalog maps certification categories (domain/variant) to pre-configured WorkflowSpec builders.
goodput
Package goodput provides types and utilities for computing runtime goodput of training jobs by parsing pod logs and tracking interruption events.
Package goodput provides types and utilities for computing runtime goodput of training jobs by parsing pod logs and tracking interruption events.
gpu
kubeconfig
Package kubeconfig provides a thin wrapper over k8s.io/client-go/tools/clientcmd for registering kubeconfig/context/namespace CLI flags, replacing the k8s.io/cli-runtime/pkg/genericclioptions.ConfigFlags dependency.
Package kubeconfig provides a thin wrapper over k8s.io/client-go/tools/clientcmd for registering kubeconfig/context/namespace CLI flags, replacing the k8s.io/cli-runtime/pkg/genericclioptions.ConfigFlags dependency.
nccl
Package nccl provides parsing for NCCL bandwidth test output.
Package nccl provides parsing for NCCL bandwidth test output.
nodemonitor
Package nodemonitor provides interfaces and implementations for detecting hardware failures on Kubernetes nodes.
Package nodemonitor provides interfaces and implementations for detecting hardware failures on Kubernetes nodes.
nodemonitor/cel
Package cel provides a CEL-based node failure detector implementation.
Package cel provides a CEL-based node failure detector implementation.
numstr
Package numstr encodes and decodes the numeric-valued strings used in CRD status fields.
Package numstr encodes and decodes the numeric-valued strings used in CRD status fields.
platform
Package platform provides model-independent, CSP/GPU-architecture-only overrides for WorkloadRun resources.
Package platform provides model-independent, CSP/GPU-architecture-only overrides for WorkloadRun resources.
podlogs
Package podlogs provides generic pod log fetching utilities.
Package podlogs provides generic pod log fetching utilities.
podutil
Package podutil provides pod discovery and status helpers for Kubernetes workloads.
Package podutil provides pod discovery and status helpers for Kubernetes workloads.
render
workflow_render implements the "ncrectl workflow render" subcommand.
workflow_render implements the "ncrectl workflow render" subcommand.
testutil
Package testutil provides a minimal envtest wrapper and golden-file test harness for integration tests, replacing the dependency on sigs.k8s.io/usage-metrics-collector/pkg/testutil (which dragged in containerd → runc as transitive dependencies).
Package testutil provides a minimal envtest wrapper and golden-file test harness for integration tests, replacing the dependency on sigs.k8s.io/usage-metrics-collector/pkg/testutil (which dragged in containerd → runc as transitive dependencies).
threshold
Package threshold provides CEL-based evaluation of performance thresholds.
Package threshold provides CEL-based evaluation of performance thresholds.
test
uat/tilt/dra-stub command
Stub DRA controller for KWOK UAT tests.
Stub DRA controller for KWOK UAT tests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL