Issue with routing traffic from outside LXD to Kubernetes pods running on top of LXD nodes

I have setup a Kubernetes cluster on 3 LXD nodes (1 controller + 2 workers) and i am able to interact with it from the outside (i.e. host machine) with kubectl. I am at the point where I would like to add an Ingress Controller in the Kubernetes cluster so that from the outside i could query services running the Kubernetes cluster (e.g. http://my.service.lxd). I have ensure that .lxd domains will be routed to the lxdbr0 bridge which is employed by the LXD nodes. And this works fine. For instance if i deploy a node running nginx called node, then i can reach http://node.lxd from a browser.

Unfortunately, i am unable to configure the LXD nodes so that queries to http://my.service.lxd would be routed to the Ingress controller. I have tried 2 Ingress Controllers (Kong and Traefik) and had different issues. I know that this is a not a Kubernetes forum but thought to still ask if someone would know if there are additional configurations that should be done to the LXD nodes? Or would someone have had experience with Ingress Controllers running in Kubernetes on top of LXD and could guide me with troubleshooting steps in order to attain the above-mentioned goals? For instance, would there be a way and LXC util to monitor and follow networking requests as they are coming through the bridge? I am new to networking and any kind of ideas would be most helpful.

FYI: Here are the versions of the software employed:

  • LXD: v4.15
  • Kubernetes: v1.21.0
  • Kubernetes Networking: Flannel v0.14.0

Thanks in advance.

How do the ingress controllers work? I.e are they setting up listening IPs inside the containers?