k8s-launch-kit-pipeline
このスキルは、ユーザーがk8s-launch-kit(l8k)パイプラインをエンドツーエンドで実行したい場合に使用します。クラスターハードウェアの検出、プロファイルの選択、マニフェストの生成などを行います。
npx skills add https://github.com/nvidia/k8s-launch-kit --skill k8s-launch-kit-pipelinel8k: Full Pipeline
PREREQUISITE: Read
../k8s-launch-kit-shared/SKILL.mdfor install paths, global flags, and output modes.
Run discovery + generation + deployment as a single command.
The pipeline operates on the default host target. Omitting --target keeps
the established behavior; --target host is equivalent. Do not select dpf
until l8k schema reports all required DPF phases as available.
The root command snapshots its arguments and runs the complete concrete Host
pipeline as one bound target operation.
Usage
The root command chains all phases in one invocation:
l8k --discover-cluster-config [--kubeconfig <PATH>] \
--fabric <FABRIC> --deployment-type <TYPE> \
--save-deployment-files <DIR> --deploy
Or use subcommands for a two-step approach:
l8k discover --save-cluster-config ./cluster-config.yaml && \
l8k generate --user-config ./cluster-config.yaml \
--save-deployment-files <DIR> --deploy
The subcommand flow does not need to repeat profile flags: discovery resolves and persists them. Pass profile flags to either command only as explicit overrides.
Examples
# Full pipeline: discover + SR-IOV Ethernet + deploy (root command)
l8k --discover-cluster-config \
--kubeconfig ~/.kube/config \
--fabric ethernet --deployment-type sriov \
--save-deployment-files ./output --deploy
# Full pipeline: Spectrum-X
l8k --discover-cluster-config \
--kubeconfig ~/.kube/config \
--spectrum-x RA2.2 --multiplane-mode hwplb --number-of-planes 4 \
--save-deployment-files ./output --deploy
# Non-default operator namespace (applies to generate/deploy only — discover
# always uses its own nvidia-k8s-launch-kit namespace)
l8k --discover-cluster-config \
--kubeconfig ~/.kube/config \
--network-operator-namespace network-operator \
--fabric ethernet --deployment-type sriov \
--save-deployment-files ./output --deploy
# Agent / CI mode
l8k --discover-cluster-config \
--kubeconfig ~/.kube/config \
--fabric ethernet --deployment-type sriov \
--save-deployment-files ./output --deploy \
--output json --yes 2>/dev/null
# Pipeline with dry-run (validate everything, apply nothing)
l8k --discover-cluster-config \
--kubeconfig ~/.kube/config \
--fabric ethernet --deployment-type sriov \
--save-deployment-files ./output --deploy --dry-run
# Subcommand alternative: discover then generate+deploy separately
l8k discover --kubeconfig ~/.kube/config \
--fabric ethernet --deployment-type sriov \
--save-cluster-config ./cluster-config.yaml && \
l8k generate --user-config ./cluster-config.yaml \
--save-deployment-files ./output --deploy
# Skip discovery entirely with --for (known SKU)
l8k generate --user-config ./cluster-config.yaml \
--for ThinkSystem-SR680a-V3 \
--node-selector "nvidia.com/gpu.product=NVIDIA-H200" \
--fabric ethernet --deployment-type sriov \
--save-deployment-files ./output --deploy \
--kubeconfig ~/.kube/config
Common Variations
| Use Case | Command |
|---|---|
| Discovery only | l8k discover --save-cluster-config <PATH> |
| Generate only | l8k generate --user-config <CONFIG> --save-deployment-files <DIR> |
| Generate + deploy | l8k generate ... --deploy |
| Full pipeline (root) | l8k --discover-cluster-config ... --deploy |
| Full pipeline (subcommands) | l8k discover ... && l8k generate ... --deploy |
| Full pipeline dry-run | l8k --discover-cluster-config ... --deploy --dry-run |
Note: The root command's strength is chaining all phases — it runs discover, generate, and deploy in a single invocation. Use subcommands when you need intermediate inspection or different flags per phase.
Phase Order
- Discover — Probe hardware, resolve profile settings, and persist both
- Generate — Match profile, render templates, write YAMLs
- Deploy — Apply resources in dependency order
If any phase fails, subsequent phases are skipped. The JSON output includes which phase failed.
[!CAUTION] The full pipeline includes deployment — confirm with the user before running on production. Use
--dry-runto preview first.
See Also
- k8s-launch-kit-shared — Global flags and exit codes
- k8s-launch-kit-discover — Discovery details
- k8s-launch-kit-generate — Profile selection details
- k8s-launch-kit-deploy — Deploy details