We are testing a traefik + consul integration and had to turn this option on for traefik to be able to forward requests to our services. We are following these guides from Consul docs:
- Configure Ingress Controllers for Consul on Kubernetes | Consul | HashiCorp Developer
- GitHub - kschoche/traefik-consul
The docs state:
dialed_directly
(bool: false)
- Determines whether this proxy instance’s IP address can be dialed directly by transparent proxies. Typically transparent proxies dial upstreams using the “virtual” tagged address, which load balances across instances. Dialing individual instances can be helpful in cases like stateful services such as a database cluster with a leader.
But we tested load balancing both via traefik and k8s service (KubeDNS) and it seems to be working. So what are the consequences of enabling this option?
Notice: We know we can use the integration using service tags, but prefer to use the k8s native ingress manifests. The service tags approach has multiple problems because the separator is a ‘,’ which traefik also uses to separated its own lists.