Kubernetes errors

Pod states and cluster errors: CrashLoopBackOff, ImagePullBackOff, OOMKilled.

CodeErrorWhat it means
cannot re-use a name that is still in use Error: INSTALLATION FAILED: cannot re-use a name that is still in use helm install was run with a release name that already exists in the namespace (even a failed one).
error converting YAML to JSON error converting YAML to JSON: yaml: line 12: did not find expected key The manifest isn’t valid YAML — usually indentation, a tab character, or an unquoted special character.
FailedCreatePodSandBox Failed to create pod sandbox: plugin type="calico" failed (add): ... (FailedCreatePodSandBox) The kubelet couldn’t set up the pod’s network sandbox — almost always a CNI plugin problem or exhausted pod I…
unknown field strict decoding error: unknown field "spec.template.spec.containers[0].ports[0].protocl" The manifest contains a field the API schema doesn’t know — a typo, wrong indentation, or a field from anothe…
NotFound Error from server (NotFound): deployments.apps "x" not found The named object doesn’t exist in the namespace/cluster kubectl is pointing at.
Liveness probe failed Liveness probe failed ... Container will be restarted (also Startup probe failed) The kubelet’s liveness (or startup) check failed enough times that it killed and restarted the container.
the object has been modified Operation cannot be fulfilled on deployments.apps "x": the object has been modified; please apply your changes to the latest version and try again Optimistic-concurrency conflict: the object changed (new resourceVersion) between when you read it and when y…
CreateContainerError Pod status CreateContainerError The image was pulled, but the container runtime failed to create the container — bad command, missing mount t…
provided port is not in the valid range spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. The range of valid ports is 30000-32767 A NodePort Service asked for a port outside the cluster’s NodePort range (default 30000–32767).
exceeded quota Error creating: pods is forbidden: exceeded quota: compute-resources, requested: limits.memory=1Gi, used: ..., limited: ... The namespace’s ResourceQuota doesn’t have room for the new pod’s requests/limits (or object count).
You must be logged in to the server error: You must be logged in to the server (Unauthorized) The cluster rejected kubectl’s credentials — expired token, wrong kubeconfig user, or cloud IAM identity not…
kubectl connection refused kubectl: The connection to the server localhost:8080 was refused — did you specify the right host or port? kubectl has no usable kubeconfig, so it falls back to localhost:8080 — or the cluster API server is unreachab…
another operation is in progress Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress A previous Helm operation on this release was interrupted and left it in a pending-install/pending-upgrade st…
failed calling webhook Internal error occurred: failed calling webhook "x": ... connection refused / context deadline exceeded The API server couldn’t reach an admission webhook’s service, so it rejected the request (failurePolicy: Fail…
BackoffLimitExceeded Job has reached the specified backoff limit (BackoffLimitExceeded) The Job’s pods failed more times than backoffLimit (default 6), so Kubernetes marked the Job failed and stopp…
Readiness probe failed Readiness probe failed: HTTP probe failed with statuscode: 503 / connect: connection refused The container is running, but its readiness check fails, so the pod is marked not ready and removed from Serv…
ProgressDeadlineExceeded deployment "x" exceeded its progress deadline (ProgressDeadlineExceeded) A rollout didn’t make progress within progressDeadlineSeconds (default 600) — new pods never became ready.
is waiting to start Error from server (BadRequest): container "x" in pod "y" is waiting to start: ContainerCreating kubectl logs has nothing to show yet — the container hasn’t started (still creating, pulling, or blocked).
Evicted Kubernetes: Pod Evicted — The node was low on resource: memory / ephemeral-storage The kubelet removed the pod because its node ran short of memory or disk.
FailedScheduling Kubernetes: Pod stuck in Pending — FailedScheduling: 0/3 nodes are available The scheduler can’t find a node that satisfies the pod’s resource requests, selectors, taints or volume const…
Metrics API not available error: Metrics API not available / HPA: unable to get metrics for resource cpu metrics-server isn’t installed or isn’t working, so kubectl top and CPU/memory HorizontalPodAutoscalers have…
doesn't have a resource type error: the server doesn't have a resource type "x" kubectl doesn’t know the resource name you typed — a typo, a CRD that isn’t installed, or a stale discovery c…
NotReady Kubernetes node NotReady (Kubelet stopped posting node status) The control plane hasn’t heard from a node’s kubelet, or the kubelet reports a problem — pods there stop bein…
CrashLoopBackOff Kubernetes: CrashLoopBackOff The container starts, crashes (or exits), and Kubernetes keeps restarting it with increasing back-off delays.
CreateContainerConfigError Kubernetes: CreateContainerConfigError — secret / configmap not found Kubernetes can’t build the container’s configuration — usually a referenced Secret, ConfigMap or key doesn’t…
Init:CrashLoopBackOff Pod status Init:CrashLoopBackOff / Init:Error An init container keeps failing, so the pod’s main containers never start.
InvalidImageName Pod status InvalidImageName: couldn't parse image reference The image field in the pod spec isn’t a valid image reference, so the kubelet can’t even try to pull it.
FailedMount Pod stuck ContainerCreating: MountVolume.SetUp failed / Unable to attach or mount volumes: timed out waiting for the condition The kubelet couldn’t mount one of the pod’s volumes, so the pod stays in ContainerCreating.
Unable to connect to the server: dial tcp i/o timeout Unable to connect to the server: dial tcp <ip>:443: i/o timeout kubectl can’t reach the API server at all — network path, VPN, firewall or a private endpoint you’re outside…
DNS in pod DNS not working inside a Kubernetes pod (could not resolve host / nslookup: can't resolve) Pods can’t resolve service names or external hosts — CoreDNS is down, blocked by NetworkPolicy, or the upstre…
admission webhook denied the request Error from server: admission webhook "validate.nginx.ingress.kubernetes.io" denied the request A validating admission webhook (ingress-nginx, Gatekeeper/OPA, Kyverno) inspected your object and rejected it…
PVC Pending PersistentVolumeClaim stuck in Pending (no persistent volumes available / waiting for first consumer) The PVC hasn’t been bound to a volume, so pods using it can’t be scheduled.
field is immutable The Deployment is invalid: spec.selector: Invalid value: field is immutable You tried to change a field Kubernetes doesn’t allow to change after creation — Deployment selectors, Job tem…
default backend - 404 Ingress returns "404 Not Found" / "default backend - 404" (ingress-nginx) The ingress controller received the request but no Ingress rule matched the host/path, so it answered with it…
ImagePullBackOff Kubernetes: ImagePullBackOff / ErrImagePull The node can’t pull the container image — wrong name/tag, missing registry credentials, or registry unreachab…
OOMKilled Kubernetes: OOMKilled (exit code 137) The container used more memory than its limit, and the kernel killed it.
Multi-Attach error Multi-Attach error for volume: Volume is already exclusively attached to one node and can't be attached to another A ReadWriteOnce volume (EBS, Azure Disk, PD) is still attached to another node, so the new pod on a different…
no endpoints Service has no endpoints (no endpoints available for service / Endpoints: <none>) The Service’s selector matches no ready pods, so traffic to it is refused or returns 503.
x509 (kubectl) Unable to connect to the server: x509: certificate has expired or is not yet valid / certificate signed by unknown authority kubectl doesn’t trust the API server’s certificate — it expired (kubeadm clusters after 1 year), the CA in ku…
violates PodSecurity Error creating: pods is forbidden: violates PodSecurity "restricted:latest": allowPrivilegeEscalation != false ... The namespace enforces a Pod Security Standard (baseline/restricted) and the pod spec breaks one of its rules.
no matches for kind no matches for kind "Ingress" in version "extensions/v1beta1" (resource mapping not found) The manifest uses an apiVersion/kind the cluster doesn’t serve — a removed beta API, or a CRD that isn’t inst…
must specify limits pods is forbidden: failed quota: must specify limits.cpu,limits.memory,requests.cpu,requests.memory A ResourceQuota on the namespace covers CPU/memory, so every pod must declare those requests/limits — and thi…
invalid ownership metadata rendered manifests contain a resource that already exists. Unable to continue with install: ... invalid ownership metadata Helm wants to create an object that already exists but isn’t labelled as belonging to this release.
Forbidden Error from server (Forbidden): pods is forbidden: User "x" cannot list resource "pods" in API group "" in the namespace You’re authenticated to the cluster, but RBAC doesn’t give your user or service account that verb on that res…
No resources found No resources found in default namespace Not an error: kubectl found nothing of that kind in the namespace it looked in — usually because the resource…
RunContainerError Pod status RunContainerError The container was created but failed to start — usually an invalid command/entrypoint, missing interpreter, o…
Terminating Pod stuck in Terminating state kubectl delete pod hangs and the pod shows Terminating for minutes or forever.
AlreadyExists Error from server (AlreadyExists): ... already exists kubectl create tried to make an object whose name is already taken in that namespace.
no context exists with the name error: no context exists with the name: "x" kubectl was told to use a context that isn’t in the loaded kubeconfig file(s).
namespace Terminating Namespace stuck in Terminating A deleted namespace never disappears because some resource inside it, or the namespace’s own finalizer, can’t…