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:
NicClusterPolicy(cluster-wide components: Multus, CNI, NV-IPAM, operators). Wait for readiness.NicNodePolicyper group (OFED driver, device plugins). Wait for readiness.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
Generate Workflow — producing the manifests
Heterogeneous Clusters — per-group rollout strategies
Troubleshooting — diagnosing failed deployments
Automation and CI/CD — exit codes and JSON output for CI