Kubernetes - exposedByDefault in k8s?

I have recently deployed Traefik (via Helm) on my kubernetes cluster. Everything went great except unexpectedly, Traefik discovered all of my services and automatically created routes for them.

The problem is that I am currently running 3 ingress controllers: Nginx (layer7), metal-lb(layer4 for external-ip on baremetal goodness) and now traefik.

I would like to expose services to traefik on a case-by-case basis similarly how most people set exposedByDefault=false and add labels to docker-containers. Is there an equivalent in kubernetes/helm installation? Then I can just tag deployments with a certain annotation and be golden.

Thanks

Hello @hokiecode,

You can either use the ingress class annotation, or use label selectors to filter out what ingresses you want Traefik to process.

By default, it will process all ingresses with the ingress class set to traefik or left blank.

Please see the documentation on how to set those settings:
https://docs.traefik.io/v1.7/configuration/backends/kubernetes/#configuration
and
https://docs.traefik.io/v1.7/configuration/backends/kubernetes/#labelselector