Configuration Reference
On this page
The Launch Kit configuration file (typically cluster-config.yaml, produced by l8k discover and consumed by l8k generate) is YAML. This page covers host networking settings and the generated bundle contract. Use discovery output as the editable starting point; default configuration and presets are embedded in the binary, while matching profile templates are installed alongside it.
Configuration Example
flavor: k8s
networkNamespaces: [default]
networkOperator:
selectedRelease: "26.10"
skipHelmChart: false
secondaryNetwork:
multus: auto
cniPlugins: auto
version: v26.10.0-rc.7
componentVersion: network-operator-v26.10.0-rc.7
repository: nvcr.io/nvstaging/mellanox
namespace: nvidia-network-operator
imagePullSecrets: []
docaDriver:
enable: true
version: doca3.6.0-26.10-070000-0
unloadStorageModules: false
enableNFSRDMA: false
unloadThirdPartyRDMAModules: false
skipPreflightChecks: false
nvIpam:
poolName: nv-ipam-pool
startingSubnet: "192.168.2.0"
mask: 24
offset: 1
sriov:
ethernetMtu: 9000
infinibandMtu: 4000
numVfs: 8
priority: 90
resourceName: sriov_resource
networkName: sriov-network
hostdev:
resourceName: hostdev-resource
networkName: hostdev-network
rdmaShared:
resourceName: rdma_shared_resource
hcaMax: 63
ipoib:
networkName: ipoib-network
macvlan:
networkName: macvlan-network
nicConfigurationOperator:
deployNicInterfaceNameTemplate: true
rdmaPrefix: "rdma_r%rail_id%"
netdevPrefix: "eth_r%rail_id%"
spectrumX:
overlay: none
singlePlane:
netdevPrefix: "eth_r%rail_id%"
rdmaPrefix: "roce_r%rail_id%"
hwplb:
netdevPrefix: "eth_r%rail_id%_p%plane_id%"
rdmaPrefix: "roce_r%rail_id%"
swplb:
netdevPrefix: "eth_r%rail_id%_p%plane_id%"
rdmaPrefix: "roce_r%rail_id%_p%plane_id%"
ovsConfig: {}
workload:
manifest: ""
profile:
fabric: ethernet
deployment: sriov
multirail: false
routing: destination-based
spectrumX:
enable: false
maintenance:
maxParallelOperations: 4
maxUnavailable: 4
maxNodeMaintenanceTimeSeconds: 3600
maxParallelUpgrades: 4
validation:
connectivity: true
mode: strict
checks: [icmp, rping, ib_write_bw]
gpuDirect:
enabled: false
gpuResourceType: nvidia.com/gpu
clusterConfig:
- identifier: "dgx-b200-nvidia-b200"
machineType: "DGX-B200"
gpuType: "NVIDIA-B200"
capabilities:
nodes:
sriov: true
rdma: true
ib: false
workerNodes: ["worker-0", "worker-1"]
nodeSelector:
nvidia.kubernetes-launch-kit.machine: "DGX-B200-NVIDIA-B200"
thirdPartyRDMAModules: []
storageModules: []
linkType: Ethernet
pfs:
- deviceID: "1023"
pciAddress: "0000:05:00.0"
rdmaDevice: "mlx5_0"
networkInterface: "net1"
traffic: east-west
rail: 0
networkOperator
Network Operator version, image registry, namespace, and pull secrets.
Field |
Description |
|---|---|
|
Pin to a release line. Supported: |
|
Explicit Network Operator version when no release catalog selection is set. A nonempty |
|
Tag for component images (CNI, device plugins, etc.). |
|
Container registry (default: |
|
Operator namespace (default: |
|
List of secret names. Propagated to |
|
External Helm ownership. Omits |
|
Operator image registry and Helm chart repository, distinct from component |
|
Independent ownership policies: |
docaDriver
OFED driver configuration and kernel driver dependencies validation.
Field |
Description |
|---|---|
|
Include the OFED driver in generated manifests. Set to |
|
DOCA driver version tag. |
|
Unload storage-over-RDMA modules ( |
|
Unload third-party RDMA modules ( |
|
Enable NFS-over-RDMA support. |
|
Skip the driver init-container module dependency check. Does not skip discovery. |
See Discover Workflow for how OFED-dependent modules are detected.
nvIpam
NV-IPAM configuration. Either provide an explicit subnets list or let Launch Kit auto-generate non-overlapping subnets per node group.
Field |
Description |
|---|---|
|
Pool name used in IPPool CRs. |
|
Explicit list of |
|
First subnet for auto-generation (e.g., |
|
Prefix length for auto-generated subnets. |
|
Increment used between auto-generated subnets. |
|
Addresses allocated per node in standard-profile IPPools (default |
|
Reserve address ranges in every standard-profile subnet. Per-subnet |
nicConfigurationOperator
Controls when NIC interface names are templated by the NIC Configuration Operator.
Field |
Description |
|---|---|
|
Enable naming templates (default |
|
RDMA device naming template (default: |
|
Netdev naming template (default: |
spectrumX
Spectrum-X-specific settings.
Field |
Description |
|---|---|
|
Overlay mode. |
|
Mode-specific |
|
RA2.4/RA3.1 string map for OVS |
NIC type and PCI selectors are derived from each source group’s east-west PF inventory; there is no spectrumX.nicType setting.
workload
Field |
Description |
|---|---|
|
Path to a custom workload manifest. When set, Launch Kit patches it with network annotations, resource requests, and node affinity instead of generating an example DaemonSet. See Generate Workflow. |
profile
Profile selection (also overridable via CLI flags).
Field |
Description |
|---|---|
|
|
|
|
|
Enable multirail. Explicit |
|
|
|
Standard-profile ARP tuning. OpenShift requires the relevant Multus tuning allowlist entries. |
|
Enable Spectrum-X profile selection. Set this with |
|
Spectrum-X reference architecture; see Spectrum-X for the release matrix and shared RA2.4/RA3.1 contract. Use RA3.1 for VR and RA2.4 for other platforms. |
|
Multiplane mode: |
|
Number of planes. |
|
Topology scheme for Spectrum-X IP allocation: |
|
IP version for Spectrum-X address allocation: |
|
Path to a spcx-gen/reference-generator or NVIDIA AIR topology JSON. Required for Spectrum-X generation — the profiles always render |
|
First octet used for IPv4 host allocation. Config-only — there is no CLI flag. Traditional layouts default to |
|
Inline profile contents as a YAML string, not a filename. RA2.4 and RA3.1 require the complete doSPCX ConfigMap; RA2.3 accepts a full legacy ConfigMap or raw |
|
Name for the generated profile ConfigMap. Required only when |
|
VR IPv6 site nibble, |
|
Generate DRA |
clusterConfig
Discovered node groups, populated by l8k discover. Each entry describes one group.
Field |
Description |
|---|---|
|
Sanitised |
|
Hardware type strings (e.g., |
|
Boolean flags reflecting hardware capability. |
|
List of node names in this group. |
|
Per-group selector. After |
|
OFED-dependent modules detected on the group. |
|
|
|
List of field-level discrepancies between the matched preset and discovered hardware. Non-empty means the preset was applied but the cluster differs from the preset. Each entry has |
|
The discovered fabric for the group: |
|
Derived RA platform and desired mode-specific naming. Recomputed during discovery/resolution; not user platform overrides. |
|
RA2.4/RA3.1 switch-plane offsets keyed by existing rail IDs. Nonzero values require HWPLB; refresh can drop assignments if hardware or membership changes. |
|
Confirmed or uncertain host netplan naming ownership. A confirmed conflict blocks naming-template generation; uncertainty warns. |
|
List of physical functions. Each entry has |
North-south PFs are listed for visibility but filtered out of generated manifests. See Overview and Discover Workflow.
Platform, Maintenance, and Validation Settings
flavor selects k8s or ocp. networkNamespaces lists secondary-network and workload namespaces. OpenShift operator packages are externally installed; optional sriov.operatorNamespace, maintenance.operatorNamespace, and nfd.operatorNamespace / nfd.configurationName identify their resources. Use the OpenShift installation guidance before discovery and deployment.
maintenance controls node maintenance concurrency: maxParallelOperations (positive integer or percentage), maxUnavailable (nonnegative integer or percentage), maxNodeMaintenanceTimeSeconds (nonnegative seconds), and legacy OFED maxParallelUpgrades (nonnegative integer; zero means unlimited). Review these budgets before applying disruptive driver or NIC configuration.
validation selects connectivity, mode (quick, full, strict), and checks (icmp, rping, ib_write_bw). gpuDirect.enabled is an explicit decision; gpuDirect.gpuResourceType defaults to nvidia.com/gpu. The rdma map controls rpingIterations, ibWriteSize, and ibWriteMinBandwidthGbps. See Validate Workflow for acceptance semantics.
Deploy and Validate Configuration Lookup
Standalone deploy and validate select the first existing candidate:
Explicit
--user-config(an unreadable explicit path is an error).<deployment-files>/.l8k/resolved-config.yaml.<deployment-files>/../.l8k/resolved-config.yaml.<deployment-files>/../cluster-config.yaml.<deployment-files>/cluster-config.yaml../cluster-config.yaml.With
--config-dir, itsl8k-config.yamlonly; otherwise local then installation share-directoryl8k-config.yaml.
The sidecar records the effective generation settings and is loaded without reapplying defaults or expanding the catalog. An explicit source configuration intentionally bypasses it. Keep the complete bundle, including .l8k, when moving generated artifacts between systems.
See Also
CLI Reference — flag reference
Discover Workflow — how this file is produced
Generate Workflow — how this file is consumed