It looks like I have a similar issue with just a golang service trying to resolve the ip of another service through kube-dns. The error shows up when I submit a "large" number of requests within a few seconds. Do you have any update on this?
Le mercredi 28 juin 2017 20:56:40 UTC+2, Luke Kysow a écrit : > > Seeing this issue with golang 1.8.3 in Kubernetes but without a reverse > proxy. Just KubeDNS -> Kubernetes service IP -> other Golang service. > > When compiled with go 1.7 we saw "dial tcp: no suitable address found" > errors and so after looking at this issue > <https://github.com/golang/go/issues/16739> upgraded to go 1.8.3 hoping > it would fix it. Instead it seems to have just been replaced with this > error. > > dial tcp: lookup other-service.default.svc.cluster.local on 10.244.0.10:53 > : dial udp 10.244.0.10:53: operation was canceled > > > On Tuesday, December 20, 2016 at 3:55:17 PM UTC-8, Matt Duch wrote: >> >> I'm running into issues when using a ReverseProxy that sits in front of a >> service that serves static asset files (in this case, 100's in a few >> seconds). Occasionally (1 out ~500 files) will error out with: >> http: proxy error: dial tcp: lookup myapp.default.svc.cluster.local on >> 172.18.0.16:53: dial udp 172.18.0.16:53: operation was canceled >> That error occurs within a second of the request being sent, so it >> shouldn't trigger any timeouts. >> >> When using a default ReverseProxy initialized using: >> proxy := httputil.NewSingleHostReverseProxy(&url.URL{Scheme: scheme,Host: >> host}) >> >> In a configuration like: >> browser -> proxy -> golang http service >> >> Where the proxy and http service (go 1.7.4) are running in docker >> containers (using kubernetes), and the DNS resolver is kube-dns (kubernetes >> 1.4). >> Changing the proxy to use a non-default transport (identical to >> http.DefaultTransport) but changing DialContext -> Dial: >> >> v.Proxy.Transport = &http.Transport{ >> >> Proxy: http.ProxyFromEnvironment, >> >> Dial: (&net.Dialer{ >> >> Timeout: 30 * time.Second, >> >> KeepAlive: 30 * time.Second, >> >> }).Dial, >> >> MaxIdleConns: 100, >> >> IdleConnTimeout: 90 * time.Second, >> >> TLSHandshakeTimeout: 10 * time.Second, >> >> ExpectContinueTimeout: 1 * time.Second, >> >> } >> >> solves the problem. >> >> There are no errors in dnsmasq and kube-dns (the containers that provide >> DNS information). >> I've stress tested the DNS setup (hundreds of thousands of requests, with >> one hundred concurrently) without issues (from a go binary). >> I've hit the backend service directly with 1000 concurrent requests, no >> issues (from a go binary as well). >> If I switch from using a hostname in NewSingleHostReverseProxy to the IP >> address of the backend service, the problem is also solved. >> >> This seems to be a unique to named hosts + DialContext + ReverseProxy. >> Any ideas as to what might be happening? >> > > id: 7898659753248090 -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.