git404hub

what is kubectl-why-pending fr?

sairohithguntupally/kubectl-why-pending — explained in plain English

Analysis updated 2026-05-18

2GoAudience · ops devopsComplexity · 2/5LicenseSetup · easy

tl;dr

A kubectl plugin that tells you in plain English why a Kubernetes pod is stuck Pending, with specific causes and actionable fixes for bare-metal and cloud clusters alike.

vibe map

mindmap
  root((kubectl-why-pending))
    What it detects
      Resource fragmentation
      Untolerated taints
      GPU resource missing
      Node affinity mismatch
    Output formats
      Plain text with fixes
      JSON per-node breakdown
      YAML format
    Usage
      Single pod check
      Namespace-wide scan
      Cluster-wide scan
    Install
      Krew plugin manager
      Build from source

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Find out why a pod is stuck Pending without manually reading through kubectl describe output.

VIBE 2

Diagnose GPU scheduling failures by identifying which component in the device plugin chain is broken.

VIBE 3

Add kubectl why-pending to a CI pipeline to alert when any pod is blocked from scheduling.

VIBE 4

Investigate resource fragmentation on a bare-metal cluster where capacity exists but no single node can fit the pod.

what's the stack?

GoKubernetesKrew

how it stacks up fr

sairohithguntupally/kubectl-why-pendinganomalroil/1keydanterolle/loqi
Stars222
LanguageGoGoGo
Last pushed2019-05-17
MaintenanceDormant
Setup difficultyeasymoderatemoderate
Complexity2/53/52/5
Audienceops devopsops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 5min

Requires kubectl and the Krew plugin manager. Install is a single kubectl krew install command.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

in plain english

kubectl-why-pending is a plugin for kubectl, the command-line tool used to manage Kubernetes clusters. Kubernetes is a system for running containers across multiple machines, and when a container fails to start, it often gets stuck in a state called Pending. The standard way to investigate is to run kubectl describe and read through a wall of status output. This plugin replaces that process with a plain-English explanation and a specific suggested fix. The tool re-runs the same scheduling logic that Kubernetes uses internally, but against your real cluster state, then translates the results into human-readable causes. It is particularly focused on bare-metal and on-premises clusters, where problems like resource fragmentation are common but cloud-managed services automatically paper over them. For example, if your cluster has enough memory in total but no single machine has enough free memory to fit the pod, the tool explains that distinction and tells you how to resolve it. The list of things it detects covers the most common reasons a pod stays Pending: insufficient resources on any single node, node labels or requirements that do not match any available machine, untolerated taints that block certain nodes from accepting work, GPU or other special hardware not being advertised by any node, unbound storage volumes, and scheduling constraints like one copy per machine that run out of eligible machines. For GPU failures, it traces through the full chain of components that need to be working and identifies exactly which one is broken. Output can go to the terminal in plain text or as JSON or YAML for use in scripts, dashboards, or automated alerts. Exit codes are designed so you can use it in CI pipelines: a non-zero code means something is blocked. JSON mode gives a per-node breakdown showing which node was ruled out and why. Installation is through Krew, the official kubectl plugin manager, with a single command. The plugin can check one specific pod, all pending pods in a namespace, or all pending pods across the entire cluster. It is MIT-licensed and written in Go.

prompts (copy fr)

prompt 1
My pod analytics-7d9 is stuck Pending. Run kubectl why-pending on it and explain what I need to do to get it scheduled.
prompt 2
Use kubectl why-pending -A -o json to find all stuck pods across my cluster and list just the blocker causes.
prompt 3
My ML training pod is Pending with a GPU request. Walk me through interpreting kubectl why-pending output for a GPU scheduling failure.
prompt 4
Install kubectl why-pending via Krew and then run it against all pending pods in my data namespace.
prompt 5
Set up a CI gate using kubectl why-pending exit codes that fails the pipeline if any pod is stuck Pending.

Frequently asked questions

what is kubectl-why-pending fr?

A kubectl plugin that tells you in plain English why a Kubernetes pod is stuck Pending, with specific causes and actionable fixes for bare-metal and cloud clusters alike.

What language is kubectl-why-pending written in?

Mainly Go. The stack also includes Go, Kubernetes, Krew.

What license does kubectl-why-pending use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is kubectl-why-pending to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is kubectl-why-pending for?

Mainly ops devops.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.