Site icon bintorosoft.com

Runbook „Pod kann DNS nicht resolven“: Ursachen + schnelle Fixes

Young it service man repairing computer

Wenn ein Pod DNS nicht resolven kann, wirkt das Problem auf den ersten Blick banal („Name lookup failed“), ist in der Praxis aber oft ein Symptom für tieferliegende Störungen im Cluster-Netzwerk, in CoreDNS oder in der Egress-Konnektivität. In Kubernetes hängt fast jede Abhängigkeit indirekt an DNS: Service Discovery innerhalb des Clusters, Zugriff auf externe APIs, Container-Registries, Observability-Backends und häufig auch Authentifizierung (OIDC, OAuth, STS-Endpunkte). Deshalb ist ein DNS-Ausfall für einzelne Pods oder ganze Namespaces ein klassischer „High-Impact“-Incident. Dieses Runbook führt Sie Schritt für Schritt durch Ursachen, schnelle Fixes und valide Prüfungen – von der Pod-Ebene (resolv.conf, DNSPolicy, NetworkPolicy) über den Cluster-DNS (CoreDNS, kube-dns Service, NodeLocal DNSCache) bis hin zum Underlay/Egress (NAT, Firewall, Route Tables). Ziel ist, innerhalb weniger Minuten einzugrenzen, ob es sich um ein lokales Problem (ein Pod/ein Node/ein Namespace) oder um ein systemisches Problem (CoreDNS/Netzwerk/Upstream-Resolver) handelt, und zugleich schnelle, risikoarme Mitigations bereitzuhalten.

Symptome und erste Einordnung (Impact bestimmen)

Beginnen Sie immer damit, den Scope zu bestimmen: Betrifft es nur einen Pod, einen Namespace, alle Pods auf einem Node oder den gesamten Cluster? DNS-Probleme lassen sich oft anhand typischer Fehlermeldungen unterscheiden.

Notieren Sie außerdem, ob nur Cluster-intern (z. B. Service-Namen) betroffen sind oder auch extern (z. B. api.github.com). Das ist ein sehr schneller Hinweis darauf, ob das Problem bei CoreDNS selbst oder bei dessen Upstream-/Egress-Pfad liegt.

Schnelltest: DNS direkt im betroffenen Pod prüfen

Führen Sie im betroffenen Pod einen minimalen Check aus. Wenn der Pod keine Shell oder Tools hat, nutzen Sie einen temporären Debug-Pod im gleichen Namespace und (wenn möglich) auf dem gleichen Node.

Interpretation der Ergebnisse

Prüfen: /etc/resolv.conf und DNSPolicy im Pod

Viele DNS-Probleme entstehen nicht durch CoreDNS, sondern durch falsche Pod-Konfiguration. Prüfen Sie im Pod die Datei /etc/resolv.conf und die DNSPolicy im PodSpec.

Häufige Fehlkonfigurationen und schnelle Fixes

Hintergrund zu Kubernetes DNS und Pod DNSPolicy finden Sie in der offiziellen Dokumentation: DNS for Services and Pods.

Prüfen: Ist der Cluster-DNS-Service erreichbar?

Als nächstes prüfen Sie, ob der Pod die Cluster-DNS-IP überhaupt erreichen kann. Typischerweise ist das der Service kube-dns im Namespace kube-system. Wenn der Service oder die Endpoints fehlen, kann kein Pod korrekt resolven.

Schnelle Fixes bei Service-/Endpoint-Problemen

CoreDNS selbst prüfen: Health, Logs und typische Failure Modes

CoreDNS ist der Standard-DNS-Server in vielen Kubernetes-Distributionen. Wenn CoreDNS überlastet ist, falsch konfiguriert wurde oder der Upstream nicht erreichbar ist, äußert sich das oft als Timeout, SERVFAIL oder stark erhöhte Latenz.

CoreDNS Health-Checks

CoreDNS ConfigMap: Was ist kritisch?

Die CoreDNS-Konfiguration (Corefile) entscheidet, wie Anfragen intern aufgelöst und extern weitergeleitet werden. Typische Stolpersteine:

Weitere Details zur CoreDNS-Konfiguration finden Sie in der offiziellen Dokumentation: CoreDNS Manual.

Upstream-DNS und Egress: Wenn externe Domains nicht auflösbar sind

Wenn interne Service-Namen funktionieren, externe Domains aber nicht, liegt das Problem häufig außerhalb von CoreDNS: Der Resolver kann seine Upstream-Server nicht erreichen, oder Egress-Traffic wird eingeschränkt.

Schnelle Fixes, ohne Dependencies zu brechen

NetworkPolicy, CNI und „DNS wird geblockt“

Ein sehr häufiger Grund, warum ein Pod DNS nicht resolven kann, sind NetworkPolicies. Besonders bei „default deny egress“ wird DNS oft vergessen. Dazu kommt: DNS nutzt in der Regel UDP 53, fällt aber bei großen Antworten auf TCP 53 zurück. Wenn nur UDP erlaubt ist, gibt es intermittierende Fehler (besonders bei großen TXT-Records, DNSSEC oder vielen A/AAAA-Records).

Schneller Fix: Minimal-Policy für DNS

Wenn Sie kurzfristig mitigieren müssen, ist eine gezielte Allow-Policy für DNS oft der schnellste und sicherste Schritt. Achten Sie darauf, den Scope klein zu halten (Namespace, Labels) und danach sauber zu härten.

Node-spezifische Ursachen: Warum DNS nur auf manchen Nodes ausfällt

Wenn DNS-Probleme nur Pods auf bestimmten Nodes betreffen, ist die Wahrscheinlichkeit hoch, dass es sich um ein Node- oder CNI-spezifisches Problem handelt. Häufige Ursachen sind conntrack pressure, iptables-Regeln, Drops oder Ressourcenengpässe.

Schnelle Fixes auf Node-Ebene

Skalierungs- und Lastprobleme: DNS-Überlast erkennen und entschärfen

DNS-Ausfälle sind oft Lastsymptome. Eine einzelne Fehlkonfiguration (z. B. zu hohe ndots-Werte, aggressive Retries, CrashLooping Deployments) kann CoreDNS und Upstream-Resolver in Sekunden überfordern. Typisch ist dann: DNS wird langsam, Apps retryen, Last steigt weiter – ein negativer Kreislauf.

Pragmatische Last-Indikatoren

Schnelle Fixes bei Überlast

Eine Einführung zu NodeLocal DNSCache und DNS-Architektur kann über die Kubernetes-Dokumentation und ergänzende Ressourcen erfolgen, z. B. über das DNS-Konzeptkapitel: Kubernetes Networking Concepts.

MTU, Fragmentation und „DNS geht manchmal“

DNS wirkt klein, aber es gibt Situationen, in denen Antworten groß werden: viele A/AAAA-Records, große TXT-Records, DNSSEC, oder wenn Antworten „truncated“ sind und TCP-Fallback benötigt wird. Wenn UDP-Fragmente gedroppt werden oder TCP 53 geblockt ist, entsteht ein intermittierendes Fehlerbild.

Validierung nach dem Fix: Nachweisbar „grün“ werden

Nach jeder Mitigation sollten Sie nicht nur „es funktioniert wieder“ feststellen, sondern messbar verifizieren, dass sich die Lage stabilisiert. Nutzen Sie ein paar wiederholbare Checks und, wenn verfügbar, Metriken.

Einfacher Stabilitätsindikator über Fehlerrate

dns_error_rate = dns_errors dns_queries

Auch wenn Sie diese Rate nicht exakt messen können, hilft die Logik: Nach dem Fix sollte die Fehlerrate (Timeouts/SERVFAIL) deutlich sinken und die Latenz stabil bleiben.

„Cheat Sheet“: Häufigste Ursachen und schnellster Fix

Prävention: Damit „Pod kann DNS nicht resolven“ seltener passiert

DNS-Probleme sind oft Wiederholungstäter. Mit einigen Baselines und Standards reduzieren Sie die Häufigkeit deutlich.

Wenn Sie eine saubere Referenz für DNS- und Service-Discovery-Grundlagen benötigen, sind die Kubernetes-DNS-Konzepte der beste Startpunkt: DNS for Services and Pods. Für tiefergehende Resolver-Details und Plugin-Verhalten ist das CoreDNS-Handbuch sehr hilfreich: CoreDNS Manual.

Cisco Netzwerkdesign, CCNA Support & Packet Tracer Projekte

Cisco Networking • CCNA • Packet Tracer • Network Configuration

Ich biete professionelle Unterstützung im Bereich Cisco Computer Networking, einschließlich CCNA-relevanter Konfigurationen, Netzwerkdesign und komplexer Packet-Tracer-Projekte. Die Lösungen werden praxisnah, strukturiert und nach aktuellen Netzwerkstandards umgesetzt.

Diese Dienstleistung eignet sich für Unternehmen, IT-Teams, Studierende sowie angehende CCNA-Kandidaten, die fundierte Netzwerkstrukturen planen oder bestehende Infrastrukturen optimieren möchten. Finden Sie mich auf Fiverr.

Leistungsumfang:

Lieferumfang:

Arbeitsweise:Strukturiert • Praxisorientiert • Zuverlässig • Technisch fundiert

CTA:
Benötigen Sie professionelle Unterstützung im Cisco Networking oder für ein CCNA-Projekt?
Kontaktieren Sie mich gerne für eine Projektanfrage oder ein unverbindliches Gespräch. Finden Sie mich auf Fiverr.

 

Exit mobile version