Skip to content
Back to the playbook

Fixing CoreDNS SERVFAIL from a detected forwarding loop

CoreDNSKuberneteskubectlrevision 1

Diagnostic tree

  1. In progressCoreDNS crashlooping, DNS returns SERVFAILCoreDNS's own loop plugin deliberately crashes it rather than serving an infinite loop — that's a safety feature, not the bug itself. The bug is whatever is making CoreDNS query itself in the first place.
View the whole map (7 more steps)
  • Confirm it's the loop plugin
  • This SERVFAIL isn't the loop-plugin kind
  • Find where the loop actually originates: the node's resolv.conf
  • Root cause: the loop originates somewhere other than the node's resolv.conf
  • Fix: forward to explicit upstream resolvers instead of the node's resolv.conf
  • Confirm DNS resolves again
  • DNS restored

What to test

CoreDNS crashlooping, DNS returns SERVFAIL

CoreDNS's own loop plugin deliberately crashes it rather than serving an infinite loop — that's a safety feature, not the bug itself. The bug is whatever is making CoreDNS query itself in the first place.

What happened?