Only pods behind one node-local DNS cache keep resolving a retired service IP after a CoreDNS rollout.
A CoreDNS rollout succeeds and pods still resolve stale service IPs because a NodeLocal DNSCache daemonset keeps the previous conntrack pin alive
CoreDNS serves new answers, but one node-local cache path continues returning an older service endpoint set.
Scenario
What to check first
- Identify the primary failure signal in the The Cluster Learned the New Address and the Neighborhood Resolver Kept Handing Out the Card It Had Memorized Last Week scenario.
- Separate visible symptoms from the underlying technical dependency.
- Describe the safest recovery path and the follow-up prevention work.
Checking checklist
- Summarize the current impact and the last known change.
- Collect direct evidence from logs, runtime state, and configuration before changing anything.
- Separate immediate recovery from permanent prevention work.
Recovery and prevention
Inspect node-local cache and conntrack state before restarting CoreDNS globally.
Questions worth viewing together
No. Keep commands, logs, file names, APIs, and product names unchanged, then explain the reasoning in the selected UI language.
State the root cause, the evidence that supports it, and the safest recovery direction.
The source scenario is treated as an incident artifact. Guidance, checklist, hints, and explanations can be localized around it.
Similar cases seen in the field