derailed/k9s · warning
no node assigned
Error message
no node assigned
What it means
Flashed by `Pod.showNode` (internal/view/pod.go:~175) when the selected pod's `spec.nodeName` is empty. Kubernetes only sets nodeName when the scheduler binds the pod; empty means the pod is Pending and unscheduled. k9s cannot navigate to a node view without a node name, so it stops and flashes this error.
Source
Thrown at internal/view/pod.go:175
func (p *Pod) coContext(ctx context.Context) context.Context {
return context.WithValue(ctx, internal.KeyPath, p.GetTable().GetSelectedItem())
}
// Handlers...
func (p *Pod) showNode(evt *tcell.EventKey) *tcell.EventKey {
path := p.GetTable().GetSelectedItem()
if path == "" {
return evt
}
pod, err := fetchPod(p.App().factory, path)
if err != nil {
p.App().Flash().Err(err)
return nil
}
if pod.Spec.NodeName == "" {
p.App().Flash().Err(errors.New("no node assigned"))
return nil
}
no := NewNode(client.NodeGVR)
no.SetInstance(pod.Spec.NodeName)
if err := p.App().inject(no, false); err != nil {
p.App().Flash().Err(err)
}
return nil
}
func (p *Pod) killCmd(evt *tcell.EventKey) *tcell.EventKey {
selections := p.GetTable().GetSelectedItems()
if len(selections) == 0 {
return evt
}
res, err := dao.AccessorFor(p.App().factory, p.GVR())View on GitHub (pinned to 2d3ccc6ba2)
Solutions
- Wait a moment and retry — normal scheduling takes seconds
- Run `kubectl describe pod <name>` and read the Events section for FailedScheduling reasons
- Fix the root cause: add capacity, fix nodeSelector/affinity, add tolerations, or bound the PVC
- Check the kube-scheduler is healthy if nothing is being scheduled
Defensive patterns
Strategy: validation
Validate before calling
// Check scheduling state before offering 'show node':
if pod.Spec.NodeName == "" {
flash.Warnf("Pod %s is Pending (not scheduled yet)")
} Type guard
func isScheduled(p *v1.Pod) bool {
return p != nil && p.Spec.NodeName != ""
} Prevention
- Wait for scheduling before node navigation
- Read FailedScheduling events for stuck pods
- Check capacity/tolerations when pods stay Pending
When it happens
Trigger: Pressing the Show Node key (`o`) on a pod whose `spec.nodeName` is "" — pod just created and not yet bound, or unschedulable because no node fits (taints, resources, affinity, PVC pending).
Common situations: Pod stuck Pending: insufficient cluster capacity, unsatisfied nodeSelector/affinity, blocking taints, or a Pending PVC; keypress right after pod creation before the scheduler binds it; kube-scheduler down or overwhelmed.
Related errors
- you must provide a selection
- failed to locate pod %q: %w
- unable to launch shell pod on node %s
- expecting Deployment resource
- expecting Pod resource
AI-assisted analysis of derailed/k9s@2d3ccc6ba2 (2026-08-15).
Data as JSON: /api/errors/a7f7b57c9536afe3.
Report an issue: GitHub.