Journal
Personal
6 May 2026#net#k8s 1 min read

systemd-resolved stub breaks CoreDNS

The second of two Hetzner and Ubuntu 24.04 traps; short and easy to miss.

FromSelf-Hosted Platform: k3s on Hetzner

Pods could resolve nothing. CoreDNS was forwarding to the node's resolver, and on Ubuntu 24.04 that file points at the systemd-resolved stub on a loopback address the pods cannot reach.

flowchart LR
  P[Pod] --> D[CoreDNS]
  D -->|forward to /etc/resolv.conf| S[Stub at 127.0.0.53]
  S -->|loopback, not reachable from pods| X[No answer]

The fix is one symlink to the real resolver configuration, applied in the node baseline so every new node gets it before k3s starts:

BASH
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Second entry in the "fresh Ubuntu node on Hetzner" checklist, next to the interface that Flannel picks by default.