I'm trying to deploy traefik on kuebernetes cluster. I'm using the helm chart to deploy it. All is ready and working except the traefik dashboard !!!
I get it working using the 9000 port when I expose it in sevice. But I want to remove this exposed port and use api@internal (just like I use it in docker swarm). But traefik send me 404 to all requests to my dashboard FQDN.
traefik is running in a dedicated namespace, not in kube-system.
Just looking at the IngressRoute resource you describe, and I see some issues:
traefik annotation are not working on IngressRoutes, they are effective only on native Ingresses.
You can find the IngressRoute specifications in our documentation.. Note: the ingress class annotation is not a traefik one, so you can keep it.
In spec.entryPoints, you specified only the websecure endpoint, so the router will not be appended to the web entrypoint.
In comparison with a docker swarm cluster, the port 9000 is not exposed and is not used by traefik. The service is using api@internal. The kubernetes cluster is in the same configuration but the dashboard is reachable. Traefik starts the port 9000, 80, 443, and a service called api@internal (which I can't find with kubectl). is there a way to verify if api@internal is well created and its kind is TraefikService ??
The dashboard is working only if I use a standard ingress with the port 9000 exposed.
sorry for the time. The dashboard is not working with any of above configuration with api@internal and ingress route. It needs to expose port 9000 to access to dashboard using http/9000 port.
I don't know why traefik can not use its api@internal endpoint ??