I’m having issues with my Kubernetes Ingress resource. I’ve set up the ingress controller, and I can see the Ingress rules when I run kubectl get ing
. But when I use kubectl describe
, I get this error:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Is this normal? I can’t reach my app using the DNS name I set up (myfancyhotel.mydomain.com). Could this be because of the http-backend error? Any ideas on how to fix this?
Here’s what I see when I describe the ingress:
Name: fancy-hotel-ingress
Namespace: hotel-zone
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
myfancyhotel.mydomain.com
/ hotel-frontend:80 (10.22.0.3:80,10.33.0.3:80)
Annotations:
Events:
I’ve set up a namespace, ingress, deployment, and service. The deployment uses 2 replicas of a simple nginx demo image. Any help would be great!
The error indicating that the default-http-backend endpoints are missing suggests that the fallback service for unmatched ingress rules has not been deployed. In my experience, once the default backend is deployed correctly, the issue of unreachable applications is resolved. One effective approach is to deploy the default backend using the following command:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud/deploy.yaml
After deployment, verify that the pods in the ingress-nginx namespace are running with:
kubectl get pods -n ingress-nginx
Then, redeploy your ingress resource. If the problem persists, check the ingress controller logs, confirm that service selectors match your pod labels, and verify that your DNS settings correctly point to the external IP of the ingress controller.
yo, i had a similar issue. the default-http-backend thing is actually optional. focus on ur ingress config instead. make sure ur service names match up with the backend in ur ingress rules. also, double-check ur DNS settings. sometimes its just a typo in the domain name thats messing things up. good luck!