NVIDIA/k8s-launch-kit
Go
Captured source
source ↗NVIDIA/k8s-launch-kit
Description: K8s Launch Kit (l8k) is a CLI tool for deploying and managing NVIDIA cloud-native solutions on Kubernetes. The tool helps provide flexible deployment workflows for optimal network performance with SR-IOV, RDMA, and other networking technologies.
Language: Go
License: Apache-2.0
Stars: 11
Forks: 3
Open issues: 12
Created: 2025-11-04T17:19:23Z
Pushed: 2026-06-09T01:15:08Z
Default branch: main
Fork: no
Archived: no
README:
K8s Launch Kit - CLI for configuring NVIDIA cloud-native solutions
K8s Launch Kit (l8k) is a CLI tool for deploying and managing NVIDIA cloud-native solutions on Kubernetes. The tool helps provide flexible deployment workflows for optimal network performance with SR-IOV, RDMA, and other networking technologies.
Operation Phases
Discover Cluster Configuration
Bootstrap a private NIC Configuration Daemon into the nvidia-k8s-launch-kit namespace to discover your cluster's network capabilities and hardware configuration. Discovery does not require a pre-installed Network Operator — the daemon and its CRDs are created in a dedicated namespace, used to publish NicDevice CRs, and torn down when discovery finishes. This phase can be skipped if you provide your own configuration file.
Select the Deployment Profile
Specify the desired deployment profile via CLI flags (--fabric, --deployment-type, --multirail, --spectrum-x) or via a profile section in the user-config file. AI-driven profile selection now lives in the k8s-launch-kit-* Claude Code skills, which wrap the deterministic CLI commands.
Generate Deployment Files
Based on the discovered/provided configuration, generate a complete set of YAML deployment files tailored to your selected network profile.
Installation
Quick install (from GitHub Releases)
curl -fsSL https://raw.githubusercontent.com/nvidia/k8s-launch-kit/main/scripts/install.sh | sh
Pin a specific version or install to a custom directory:
L8K_VERSION=v1.0.0 sh scripts/install.sh curl -fsSL ... | sh -s -- -d ~/local
Uninstall:
curl -fsSL https://raw.githubusercontent.com/nvidia/k8s-launch-kit/main/scripts/install.sh | sh -s -- --uninstall
Homebrew
brew tap nvidia/l8k https://github.com/nvidia/k8s-launch-kit brew install l8k
Build from source
git clone cd k8s-launch-kit make build
The binary will be available at build/l8k.
After building, install the binary, profiles, and config to /usr/local:
make install # Copies binary, profiles, config to /usr/local make dev-install # Symlinks instead of copies (for development)
This runs scripts/install-local.sh, which places:
/bin/l8k/share/l8k/profiles//share/l8k/presets//share/l8k/l8k-config.yaml
Default prefix is /usr/local. Override with PREFIX=/opt/l8k make install.
Docker
make docker-build # Build Docker image (l8k:v0.1.0 + l8k:latest) make docker-build-local # Build inside container, extract binary to host build/l8k
docker-build-local is useful when you don't have the Go toolchain installed — it compiles inside a container and copies the resulting binary to build/l8k on your host.
# Run from the Docker image docker run --net=host \ -v ~/.kube:/kube:ro \ -v $(pwd):/output \ l8k:latest discover --kubeconfig /kube/config \ --save-cluster-config /output/cluster-config.yaml
Usage
K8s Launch Kit (l8k) is a CLI tool for deploying and managing NVIDIA cloud-native solutions on Kubernetes. The tool helps provide flexible deployment workflows for optimal network performance with SR-IOV, RDMA, and other networking technologies. ### Discover Cluster Configuration Deploy a minimal Network Operator profile to automatically discover your cluster's network capabilities and hardware configuration by using --discover-cluster-config. This phase can be skipped if you provide your own configuration file by using --user-config. This phase requires --kubeconfig to be specified. ### Generate Deployment Files Based on the discovered or provided configuration, generate a complete set of YAML deployment files for the selected network profile. Files can be saved to disk using --save-deployment-files. The profile is defined with --fabric, --deployment-type and --multirail flags, or via a profile section in the user-config file. ### Deploy to Cluster Apply the generated deployment files to your Kubernetes cluster by using --deploy. This phase requires --kubeconfig and can be skipped if --deploy is not specified. The deploy step installs (or upgrades) the `nvidia/network-operator` Helm chart in-process before applying the post-install CRs. The chart version and Helm repository URL are taken from the embedded release catalog and can be selected via `--network-operator-release `. Each profile renders a per-profile `values.yaml` next to the CR manifests; `l8k deploy` reads that file and runs the install. When a release already exists with different values, deploy fails fast — pass `--overwrite-existing` to promote to `helm upgrade --install`. ### AI Agent / Automation Support Use --output json for structured machine-readable output (single JSON object to stdout). Use --yes to auto-confirm prompts, --quiet to suppress informational output, and --dry-run to preview deployments. Use 'l8k schema' to discover tool capabilities programmatically. Usage: l8k [flags] l8k [command] Examples: # Discover cluster and generate SR-IOV ethernet deployment l8k --kubeconfig ~/.kube/config --discover-cluster-config \ --fabric ethernet --deployment-type sriov --save-deployment-files ./output # Generate from saved config (no cluster access needed) l8k --user-config cluster-config.yaml --fabric ethernet \ --deployment-type sriov --save-deployment-files ./output # Discover + deploy Spectrum-X with JSON output for automation l8k --kubeconfig ~/.kube/config --discover-cluster-config \ --spectrum-x RA2.2 --multiplane-mode hwplb --number-of-planes 4 --network-operator-release 26.4 --deploy --output json --yes # Dry-run: preview what would be deployed l8k --user-config cluster-config.yaml --spectrum-x --deploy \ --dry-run --output json # Get tool capabilities as JSON (for AI agents) l8k schema Available Commands: completion Generate the autocompletion script for the specified shell deploy Apply previously generated manifests to a Kubernetes cluster discover Discover cluster network hardware…
Excerpt shown — open the source for the full document.
Notability
notability 1.0/10Routine repo with very low traction