uet icon indicating copy to clipboard operation
uet copied to clipboard

Windows pods can not resolve DNS names when running in Windows+WSL mode

Open hach-que opened this issue 8 months ago • 1 comments

I suspect this is something to do with UDP routing across the virtual switch, since WSL and the Calico VXLAN are all running through the same switch. TCP routing seems to work fine as you can curl to services and pods by their IP address; it's just DNS resolution that's affected.

A theoretical solution here is to run CoreDNS directly on Windows when in Windows+WSL mode, and set --cluster-dns to point at the Windows IP address (instead of inside the cluster). Though for this to work as a solution, I'd also have to try manually setting the DNS in a Windows pod to 1.1.1.1 first to make sure that DNS works with it being external, and I can't remember if I actually did run that test under Windows+WSL.

hach-que avatar May 19 '25 10:05 hach-que

DNS is now working in the Windows pods, though using curl with services now seems to no longer work (even though it definitely was working at the time I wrote this issue).

The configuration of the virtual switch that WSL is operating out of needs further investigation. Someone probably needs to dive into vfpctrl.exe, figure out how the ports and policies are interacting, and figure out why the switch is presumably dropping packets (presumably the overlay network packets).

hach-que avatar May 19 '25 10:05 hach-que