Deploy Workflow

Note

Use this when: you have generated manifests (from Generate Workflow) and want to apply them to the cluster, or preview what would be applied.

Deploy to Cluster

Apply the generated manifests:

l8k deploy

By default, l8k deploy reads the manifests in ./deployment/ (the output of l8k generate) and uses $KUBECONFIG for cluster access.

You can also fold the deploy into the generate step by adding --deploy to l8k generate:

l8k generate --fabric ethernet --deployment-type sriov --multirail --deploy

Deployment Ordering

Launch Kit applies manifests in the following order to ensure dependencies are satisfied:

  1. NicClusterPolicy (cluster-wide components: Multus, CNI, NV-IPAM, operators). Wait for readiness.

  2. NicNodePolicy per group (OFED driver, device plugins). Wait for readiness.

  3. Remaining manifests — network resources (SriovNetwork, HostDeviceNetwork, etc.), IP pools, and example workloads.

Dry-Run Mode

Preview what would be deployed without making changes:

l8k deploy --dry-run

Dry-run mode is recommended before any first deployment and before production changes.

Verifying the Deployment

After deploying, verify that operator pods, OFED driver pods, and example workloads are running:

kubectl -n nvidia-network-operator get pods
kubectl get nicclusterpolicy
kubectl get nicnodepolicy

Per-group NicNodePolicy resources have names matching the group identifier (e.g., nicnodepolicy-group-0). Each should reach the Ready state before workloads are applied.

If a deployment fails or stalls, see Troubleshooting.

See Also