Hey folks,
I've used Traefik successfully on individual docker hosts for quite a while, but I'm trying to get my homelab Kubernetes cluster going now and I'm having a bit of trouble getting my Helm-deployed Traefik 2.10 to process my dashboard IngressRoute. I'm following a guide by a youtuber, but it's probably a year or more old now so I think that it could have changed since they made said guide, so it may be out of date.
Symptoms: I deploy Traefik with debug logs, and when I apply or delete the IngressRoute for the dashboard, I get a debug message saying time="2023-12-23T04:19:22Z" level=debug msg="Skipping Kubernetes event kind *v1alpha1.IngressRoute" providerName=kubernetescrd
As the title indicates, my guess is that this is a result of me not setting the IngressClass correctly either in my Helm deployment or in my IngressRoute for the dashboard. Middlewares all seem to get processed by Traefik, and it seems like it's just the IngressRoute that is having trouble.
So, here are my config files with my domain removed:
values.yaml
:
globalArguments:
- "--global.sendanonymoususage=false"
- "--global.checknewversion=false"
additionalArguments:
- "--serversTransport.insecureSkipVerify=true"
- "--log.level=DEBUG"
- "--providers.kubernetesingress.ingressclass=traefik-servers-vlan"
deployment:
enabled: true
replicas: 3
annotations: {}
podAnnotations: {}
additionalContainers: []
initContainers: []
ports:
web:
redirectTo:
port: websecure
websecure:
tls:
enabled: true
ingressRoute:
dashboard:
enabled: false
providers:
kubernetesCRD:
enabled: true
ingressClass: traefik-servers-vlan
allowExternalNameServices: true
kubernetesIngress:
enabled: true
allowExternalNameServices: true
publishedService:
enabled: false
rbac:
enabled: true
service:
enabled: true
type: LoadBalancer
annotations: {}
labels: {}
spec:
loadBalancerIP: <static ip address in metallb range here>
loadBalancerSourceRanges: []
externalIPs: []
dashboard-ingress.yaml
:
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: traefik-server-dashboard
namespace: traefik
annotations:
kubernetes.io/ingress.class: traefik-server-vlan
spec:
entryPoints:
- websecure
routes:
- match: Host(`traefik-server-dashboard.example.com`)
kind: Rule
middlewares:
- name: traefik-dashboard-basicauth@kubernetescrd
namespace: traefik
services:
- name: api@internal
kind: TraefikService
I'm aware that this is going to serve via a self-signed cert, and that does seem to work for me. I just get a 404 from the dashboard URL, so I know that Traefik is up and responding, just not configuring the route. Hopefully the answer is something obvious and dumb that I just don't know about or missed.
Any help would be appreciated! Also, happy holidays!