Back to Glossary
Core Concepts

Pod

The smallest deployable unit in Kubernetes — one or more containers that share a network namespace and storage volumes.

What is Pod?

A Pod is the atomic scheduling unit in Kubernetes. It wraps one or more containers (typically one) along with shared networking (a single IP address) and optional shared volumes. All containers in a Pod communicate via localhost and see the same mounted volumes, making the Pod the right grouping for tightly coupled processes — for example, an application container paired with a logging sidecar or an init container that prepopulates a cache.

Pods are ephemeral by design: they are never repaired in place. When a Pod's node fails or a Pod crashes, the responsible controller (Deployment, StatefulSet, etc.) creates a fresh Pod. A Pod's IP address is therefore not stable across restarts — Services and DNS are the correct abstraction for stable addressing. Each Pod's lifecycle goes through phases: Pending, Running, Succeeded, Failed, or Unknown.

Pods consume cluster resources according to the resource requests and limits declared in their containers' specs. Pods without resource requests are scheduled with best-effort QoS class and are the first evicted when a node faces memory pressure. Setting accurate resource requests is critical for both scheduling correctness and cost accuracy.

Example

# List all pods in the default namespace
kubectl get pods -n default

# Describe a pod to see events, conditions, and container statuses
kubectl describe pod my-pod -n default

# Stream logs from a specific container inside a pod
kubectl logs my-pod -c my-container -f

Cost & Waste Implications

Pods with no resource requests make capacity planning impossible and lead to node over-provisioning. Pods stuck in CrashLoopBackOff or Completed/Failed states that are never cleaned up waste scheduler cycles and inflate etcd storage. Idle Pods — e.g., from forgotten dev environments — consume real node capacity that you pay for.

KorPro— Kubernetes Cost Optimization

How KorPro Helps

KorPro detects Pods in terminal or long-running idle states and flags workloads with missing or severely over-provisioned resource requests, enabling targeted rightsizing recommendations.

Scan Your Cluster Free

Stop Wasting Money on Orphaned Kubernetes Resources

KorPro connects to your clusters across GCP, AWS, and Azure — no agents, no installation — and surfaces every orphaned resource with its monthly cost estimate.