I am trying to set up a caching DNS service in kubernetes as well. So far I couldn't achieve because of the physical LB's limitations. But NGINX UDP LB is working just fine. If you want to discuss more in details you can reach out to me via email or linkedin.