fix: allow DNS disconnection events to happen in k8s (#19145)

in k8s things really do come online very asynchronously,
we need to use implementation that allows this randomness.

To facilitate this move WriteAll() as part of the
websocket layer instead.

Bonus: avoid instances of dnscache usage on k8s
This commit is contained in:
Harshavardhana
2024-02-28 09:54:52 -08:00
committed by GitHub
parent 62ce52c8fd
commit 51874a5776
11 changed files with 362 additions and 45 deletions

View File

@@ -98,7 +98,12 @@ func mustGetLocalIP6() (ipList set.StringSet) {
// getHostIP returns IP address of given host.
func getHostIP(host string) (ipList set.StringSet, err error) {
addrs, err := globalDNSCache.LookupHost(GlobalContext, host)
lookupHost := globalDNSCache.LookupHost
if IsKubernetes() || IsDocker() {
lookupHost = net.DefaultResolver.LookupHost
}
addrs, err := lookupHost(GlobalContext, host)
if err != nil {
return ipList, err
}