# GKE/Kubernetes: Pod unschedulable — 0/3 nodes are available: 3 Insufficient cpu

**Code:** `GKE: 0/3 nodes are available: Insufficient cpu` · **Category:** Google Cloud / Firebase · **Seen on:** Google Cloud, Kubernetes

The scheduler found no node with enough free CPU/memory for the pod's resource requests.

## Meaning

Requests (not limits) decide scheduling. Lower the pod's requests, add nodes (enable cluster autoscaler), or use a bigger machine type. In GKE Autopilot requests are what you pay for, so right-size them. Autoscaler may log `NotTriggerScaleUp` reasons.

## Common causes

- Requests larger than any node can provide
- Cluster at capacity without autoscaler
- Autoscaler blocked by quota or max nodes
- Node taints/affinity excluding all nodes
- DaemonSets consuming capacity

## Quick fix

1. `kubectl describe pod POD` and read Events
2. Reduce `resources.requests` or add nodes
3. Enable autoscaling and check quotas

## Detailed fix by platform

### kubectl

1. `kubectl describe pod POD | tail -20` ; `kubectl top nodes`

## How to diagnose

1. **Events** — Insufficient cpu/memory?
2. **Capacity** — Node allocatable?
3. **Autoscaler** — Enabled, quota ok?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/gcp/gke-pod-unschedulable-insufficient-cpu)
