2

With k3d, I am receiving a DNS error when the pod tries to access a URL over the internet.

ERROR:
getaddrinfo EAI_AGAIN DNS could not be resolved

How can I get past this error?

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250

1 Answers1

1

It depends on your context, OS, version.

For instance, you will see various proxy issue in k3d-io/k3d issue 209

this could be related to the way k3d creates the docker network.

Indeed, k3d creates a custom docker network for each cluster and when this happens resolving is done through the docker daemon.
The requests are actually forwarded to the DNS servers configured in your host's resolv.conf. But through a single DNS server (the embedded one of docker).

This means that if your daemon.json is, like mine, not configured to provide extra DNS servers it defaults to 8.8.8.8 which does not resolve any company address for example.

It would be useful to have a custom options to provide to k3d when it starts the cluster and specify the DNS servers there

Which is why there is "v3/networking: --network flag to attach to existing networks", referring to Networking.

Before that new flag:

For those who have the problem, a simple fix is to mount your /etc/resolve.conf onto the cluster:

k3d cluster create --volume /etc/resolv.conf:/etc/resolv.conf
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250