Can not get Loadbalancer to health state.

May 27, 2019 314 views
Kubernetes Arch Linux

Hi,

I’m trying to use Traefik as an ingress controller for k8s; this is the docs I’m following. I added my own config to this for the /ping health-check endpoint. I can port forward to a pod and hit :8000/ping and get 200. However the load balancer cannot hit http://0.0.0.0:8000/ping; this means all my nodes appear down. I can’t see anything in the logs to indicate a problem - and I’m not sure where/how to start debugging this. My though is the tefik-ingress-controller pods care not able to receive (or perhaps respond?) to the URLs even - not sure why I can port forward and get it working though.

NAME                      TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                    AGE
kube-dns                  ClusterIP   10.245.0.10     <none>        53/UDP,53/TCP,9153/TCP     2d9h
traefik-ingress-service   ClusterIP   10.245.95.200   <none>        80/TCP,8080/TCP,8000/TCP   10h
traefik-web-ui            ClusterIP   10.245.120.67   <none>        80/TCP                     10h
traefik-ingress-controller-5klw9   1/1     Running   0          4h35m
traefik-ingress-controller-vchrj   1/1     Running   0          4h35m

Any tips would be appreciated. Shouldn’t be this hard. Not even sure how to debug this.

1 Answer

So I fixed this by changing the ingress service to use NodePort. Apparently ClusterIP is meant for internal communication only.

Have another answer? Share your knowledge.