Error map
GKE Ingress: backends marked UNHEALTHY (502) GKE Ingress: Some backend services are in UNHEALTHY state / 502 Server Error from the load balancer
Google Cloud / Firebase · layer 6, Platform & cloud
Centre: this error. First ring: errors it is linked with (9). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (9)
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 Service endpoints.
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; the reason follows…
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 its default backend.
Cloud Run: 503 Service Unavailable — The request was aborted because there was no available instance
Cloud Run could not serve the request: no instance was ready, instances crashed, or the service hit its max-instances/concurrency…
GKE/Compute: Quota 'CPUS' exceeded. Limit: 8.0 in region us-central1 (QUOTA_EXCEEDED)
Creating nodes or clusters needs more vCPUs than your project's regional quota allows.
GKE/Kubernetes: Pod unschedulable — 0/3 nodes are available: 3 Insufficient cpu
The scheduler found no node with enough free CPU/memory for the pod's resource requests.
kubectl: error: executable gke-gcloud-auth-plugin not found — it looks like you are trying to use a client-go credential plugin that is not installed
kubectl needs the `gke-gcloud-auth-plugin` binary to authenticate to GKE, and it is missing from PATH.
GKE: google.api_core.exceptions.Forbidden: 403 Caller does not have required permission — Workload Identity: unable to generate access token
A pod tried to call Google APIs but its Kubernetes service account is not bound to a Google service account (or the binding lacks…
Google Cloud Load Balancing: 502 Bad Gateway — jsonPayload.statusDetails: failed_to_connect_to_backend / backend_connection_closed_before_data_sent_to_client
The load balancer couldn't get a valid response from your backend and returned 502.
Two steps away (27)
Kubernetes: CrashLoopBackOff
The container starts, crashes (or exits), and Kubernetes keeps restarting it with increasing back-off delays.
ALB target unhealthy: Health checks failed with these codes: [404] / Request timed out
The load balancer’s health checks to your targets fail, so it stops sending traffic (and returns 502/503 if no targets are health…
Docker container is unhealthy (health check failing)
The container is running, but its HEALTHCHECK command keeps failing, so Docker (and dependent services) consider it unhealthy.
Kubernetes: CreateContainerConfigError — secret / configmap not found
Kubernetes can’t build the container’s configuration — usually a referenced Secret, ConfigMap or key doesn’t exist in that namesp…
Pod status CreateContainerError
The image was pulled, but the container runtime failed to create the container — bad command, missing mount target, or a name/vol…
Namespace stuck in Terminating
A deleted namespace never disappears because some resource inside it, or the namespace’s own finalizer, can’t be cleaned up.
HTTP 404 Not Found
The server can’t find anything at the requested URL.
ECS task stopped: CannotPullContainerError: pull image manifest has been retried ... / ref pull has been retried
The ECS task couldn’t pull its image — no network route to the registry, missing ECR permissions, or a wrong image tag.
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.
Cloud Run: The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable
Cloud Run started your container, but nothing listened on $PORT within the startup timeout — the app crashed, listens on another…
Cloud Run: Memory limit of 512 MiB exceeded with 530 MiB used. Consider increasing the memory limit
The container used more memory than the Cloud Run service allows, so the instance was terminated.
Cloud Run: 504 Gateway Timeout — The request has been terminated because it has reached the maximum request timeout
The request ran longer than the service's request timeout (default 5 minutes, max 60), so Cloud Run closed it.
Google API: 429 RESOURCE_EXHAUSTED — Quota exceeded for quota metric 'Read requests' and limit 'Read requests per minute per user'
Your project or user exceeded an API rate or daily quota.
Compute Engine: The zone 'projects/p/zones/us-central1-a' does not have enough resources available to fulfill the request (ZONE_RESOURCE_POOL_EXHAUSTED)
Google has no spare capacity for that machine type in the zone right now.
Compute Engine: Quota 'N2_CPUS' exceeded. Limit: 24.0 in region europe-west1 / QUOTA_EXCEEDED
The project reached a regional Compute Engine quota (vCPUs per machine family, GPUs, disks, addresses).
Kubernetes: OOMKilled (exit code 137)
The container used more memory than its limit, and the kernel killed it.
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 constraints.
Google Cloud: 403 SERVICE_DISABLED — Cloud Resource Manager API has not been used in project 123456 before or it is disabled. Enable it by visiting
The Google API you called is not enabled for the project that the request is billed to.
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 unreachable.
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 resource.
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 allowed.
Google Cloud: Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started
The Google client library found no Application Default Credentials (ADC) on this machine or environment.
Cloud Run: Error: Forbidden — Your client does not have permission to get URL / from this server
The Cloud Run service requires authentication and the caller has no valid identity token or the `roles/run.invoker` role.
Google Cloud: 403 PERMISSION_DENIED — Permission 'storage.objects.get' denied on resource (or it may not exist)
The caller's identity lacks the IAM permission named in the message on that resource.
gcloud/ADC: WARNING: Your active project does not match the quota project in your local Application Default Credentials file
Application Default Credentials bill API usage to a different project than the one you have set as active, which can cause surpri…
BigQuery: Not found: Dataset my-project:analytics was not found in location EU
BigQuery looked for the dataset in the wrong location (region) or the dataset doesn't exist.
BigQuery: Access Denied: Project my-project: User does not have bigquery.jobs.create permission in project my-project
The principal can read data but is not allowed to run query jobs in the project used for billing.
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError