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.
Seen on:
Kubernetes
Meaning
A Service forwards only to pods whose labels match its selector and which are Ready. A label typo, pods failing readiness, or a targetPort that doesn’t match the container port leave it empty or broken. Ingress controllers then return 503.
Common causes
- Selector labels don’t match pod labels
- Pods not Ready (readiness probe failing)
- targetPort doesn’t match the containerPort/name
- Service and pods in different namespaces
⚡ Quick fix
- Compare selector and pod labels
- kubectl get endpoints <svc> (or endpointslices)
- Fix readiness or targetPort
Detailed fix by platform
Kubernetes
- bash
kubectl get svc web -o jsonpath='{.spec.selector}'; echo kubectl get pods -l app=web --show-labels kubectl get endpointslices -l kubernetes.io/service-name=web
How to diagnose
- Selector — Matches pod labels exactly?
- Ready — Pods READY 1/1?
- Ports — targetPort vs containerPort
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in Kubernetes
- error converting YAML to JSON error converting YAML to JSON: yaml: line 12: did not find expected key
- is waiting to start Error from server (BadRequest): container "x" in pod "y" is waiting to start: ContainerCreating
- kubectl connection refused kubectl: The connection to the server localhost:8080 was refused — did you specify the right host or port?
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026