| 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… |