k8s-launch-kit-troubleshoot

작성자: nvidia

Use this skill when the user has problems with NVIDIA Network Operator on Kubernetes, or wants to analyze a sosreport diagnostic dump. Activate for: OFED…

npx skills add https://github.com/nvidia/k8s-launch-kit --skill k8s-launch-kit-troubleshoot

l8k: Troubleshooting

PREREQUISITE: Read ../k8s-launch-kit-shared/SKILL.md for install paths, global flags, and exit codes.

Debug NVIDIA Network Operator issues on Kubernetes, with or without a sosreport.

l8k Troubleshooting Commands

# Collect a diagnostic dump from the cluster
l8k sosreport [--kubeconfig <PATH>] --output-dir ./sosreport

l8k sosreport gathers cluster state, CRDs, operator logs, and per-node NIC info into a structured directory for offline analysis. Use the diagnostic commands and triage workflow below to interpret the dump.

Diagnostic Commands

# NicClusterPolicy status (check state: ready vs notReady)
kubectl get nicclusterpolicy -o yaml

# Network operator pods
kubectl get pods -n <operator-ns> -o wide

# SR-IOV node states (VF allocation)
kubectl get sriovnetworknodestates -A -o yaml

# OFED driver pod logs
kubectl logs -n <operator-ns> -l app=mofed-<os> --tail=100

# NIC configuration daemon logs
kubectl logs -n <operator-ns> -l app=nic-configuration-daemon --tail=100

# Check for pods stuck on network resources
kubectl get pods -A -o wide | grep -E 'ContainerCreating|Init'

Common Failure Patterns

SymptomLikely CauseFix
NicClusterPolicy state: notReadyOFED driver pods failingCheck mofed pod logs, verify kernel/driver compatibility
Pods stuck in ContainerCreatingVFs not allocated or SR-IOV policy not appliedCheck sriovnetworknodestates, verify device plugin pods
CrashLoopBackOff on mofed podsKernel module conflictCheck thirdPartyRDMAModules, enable unloadThirdPartyRDMAModules
No VFs on nodeSriovNetworkNodePolicy not matchingVerify nodeSelector labels match worker nodes
RDMA not workingMissing RDMA device plugin or wrong resource nameCheck rdma-shared-dp pods, verify resource annotations
l8k discover daemon pods stuck (ImagePullBackOff / Pending)Bad image tag, missing pull secret, or no feature.node.kubernetes.io/pci-15b3.present=true nodesRe-run with --keep-namespace then kubectl describe pod -n nvidia-k8s-launch-kit. Fix networkOperator.componentVersion / pass --image-pull-secrets / verify NFD is running.
l8k validate / deploy can't find Network Operator podsOperator namespace mismatchVerify --network-operator-namespace matches actual namespace (does NOT apply to l8k discover — it ignores the flag and uses its own nvidia-k8s-launch-kit namespace)
IPPool not allocatingNV-IPAM subnet exhausted or misconfiguredCheck ippools CR status, verify CIDR ranges
--for requires --node-selector--for was passed without --node-selectorAdd --node-selector key=val,…. The synthesized clusterConfig has no live worker-node list; the selector identifies target nodes at apply time.
--for and --discover-cluster-config are mutually exclusiveBoth flags passed simultaneouslyPick one: --for skips discovery, --discover-cluster-config runs it.
unknown preset "X"; available: …--for X doesn't match any directory under presets/Run l8k preset list and re-run with one of those names.
preset has no capabilities blockPreset YAML used by --for is missing capabilities.nodes.{sriov,rdma,ib}Add the block to the preset's topology.yaml. Discovery-time overlay does not require it; only --for does.
unknown field "productType" in YAMLHand-authored config still uses the old key nameRename productType: to gpuType: (the field was renamed).

For detailed triage workflow, read references/troubleshooting-guide.md.

sosreport Analysis

If the user has a pre-collected sosreport directory (from l8k sosreport or manual collection):

sosreport/
├── metadata/          # Cluster info, node list
├── crds/              # NicClusterPolicy, SriovNetworkNodePolicy, IPPool, etc.
├── operator/          # Network operator pod logs
├── nodes/             # Per-node device info
└── network/           # Interface config, routing tables

Triage Checklist

  1. Read metadata/diagnostic-summary.yaml for overview
  2. Check pod health in operator/pods.yaml
  3. Inspect CRDs in crds/ for status fields
  4. Read operator logs in operator/logs/ for errors
  5. Check per-node NIC state in nodes/<node>/

See Also

nvidia의 다른 스킬

compileiq-debug
nvidia
Use when something is wrong: Search() hangs, all evaluations return INVALID_SCORE, scores aren't improving, every config returns the same number, ptxas errors…
official
create-github-pr
nvidia
gh CLI를 사용하여 GitHub 풀 리퀘스트를 생성합니다. 사용자가 새 PR을 만들거나, 코드 리뷰를 제출하거나, 풀 리퀘스트를 열고자 할 때 사용합니다. 트리거 키워드 -…
official
diagnose-perf
nvidia
First-responder performance triage for Isaac Sim and Isaac Lab. Identifies bottleneck category (GPU-bound, CPU-bound, VRAM, loading) using nvidia-smi and…
official
eagle3-review-logs
nvidia
Review EAGLE3 pipeline experiment logs from the launcher's experiments/ directory. Summarizes pass/fail status for all 4 tasks, diagnoses failures with root…
official
nemoclaw-maintainer-cross-issue-sweep
nvidia
다른 열린 이슈들을 스캔하여 주어진 PR이 함께 수정하거나 실수로 망가뜨릴 수 있는 이슈를 찾습니다. 인접 수정 기회와 모순 위험을 file:line…과 함께 출력합니다.
official
karpathy-guidelines
nvidia
일반적인 LLM 코딩 실수를 줄이기 위한 행동 지침입니다. 코드 작성, 검토 또는 리팩토링 시 과도한 복잡성을 피하고 정밀한 변경을 위해 사용하세요.
official
fhir-basics
nvidia
에이전트에게 FHIR R4 API의 작동 방식, 사용 가능한 리소스, 검색 매개변수를 사용한 쿼리 방법, 모든 응답 형식을 올바르게 파싱하는 방법을 가르칩니다…
official
underdeclared-agent
nvidia
A helpful assistant agent
official