Fixing CoreDNS SERVFAIL from a detected forwarding loop
CoreDNSKuberneteskubectlrevision 1
Diagnostic tree
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.