Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ AKS Automatic ✔️ AKS Standard
Die DNS-Auflösung (Domain Name System) ist eine wichtige Komponente im Azure Kubernetes Service (AKS), die es Pods und Diensten ermöglicht, unter Verwendung von menschlich lesbaren Namen anstelle von IP-Adressen zu kommunizieren. AKS bietet integrierte DNS-Dienste, um eine nahtlose Namensauflösung für interne Clusterressourcen und externe Endpunkte sicherzustellen. Das Verständnis der Funktionsweise von DNS in AKS hilft Clusteroperatoren und Entwicklern dabei, eine zuverlässige Konnektivität sicherzustellen, die Leistung zu optimieren und Netzwerkprobleme effektiv zu beheben.
AKS Automatic ist die empfohlene, produktionsreife Standardeinstellung für die meisten AKS-Workloads. AKS Automatic-Cluster sind mit LocalDNS vorkonfiguriert, um die DNS-Leistung zu verbessern, die conntrack-Auslastung zu verringern und die Resilienz zu erhöhen, ohne zusätzlichen Einrichtungsaufwand zu erfordern.
Auf AKS Standard ist LocalDNS optional, und Sie können es separat aktivieren und konfigurieren.
Weitere Informationen zu AKS Automatic finden Sie unter Was ist AKS Automatic?
CoreDNS im Azure Kubernetes-Dienst
CoreDNS ist der Standardmäßige DNS-Dienst in AKS. Sie bietet interne Namensauflösung und Dienstermittlung für Workloads, die im Cluster ausgeführt werden. Sie fungiert als Gruppe von Pods im kube-system Namespace und ist eng in Kubernetes-Netzwerke integriert.
Wenn ein Pod in AKS eine DNS-Abfrage sendet, beispielsweise um den Namen eines anderen Diensts aufzulösen, wird die Anfrage an die CoreDNS-Pods weitergeleitet. Diese Pods verarbeiten die Abfrage und geben die entsprechende IP-Adresse zurück oder leiten die Anforderung an einen upstream-DNS-Server für externe Domänen weiter.
Diese Architektur gewährleistet ein Gleichgewicht zwischen Flexibilität und Betriebssicherheit in einer verwalteten Umgebung. Ausführliche Informationen zum Anpassen von CoreDNS in AKS finden Sie im CoreDNS-Anpassungshandbuch.
Informationen zum CoreDNS-Projekt finden Sie auf der Seite des CoreDNS-Upstream-Projekts.
LocalDNS im Azure Kubernetes-Dienst
Hinweis
Dieser Artikel bietet eine Übersicht über die Vorteile von LocalDNS in AKS.
Für AKS Automatic ist LocalDNS vorkonfiguriert.
Informationen zu AKS Standard finden Sie in der LocalDNS-Anleitung, um LocalDNS zu aktivieren und zu konfigurieren.
Überblick
LocalDNS ist ein erweitertes Feature in Azure Kubernetes Service (AKS), das einen DNS-Proxy (Domain Name System) auf jedem Knoten bereitstellt, um eine äußerst robuste DNS-Auflösung mit geringer Latenz bereitzustellen. Durch die lokale Behandlung von DNS-Abfragen reduziert dieser Proxy den Datenverkehr an die CoreDNS-Add-On-Pods, wodurch die allgemeine DNS-Zuverlässigkeit und -Leistung im Cluster verbessert wird. LocalDNS ist besonders in großen Clustern oder Umgebungen mit hohen DNS-Abfragevolumes von Vorteil, bei denen die zentrale DNS-Auflösung zu einem Engpass werden kann.
Wenn LocalDNS aktiviert ist, stellt AKS einen lokalen DNS-Cache als systemd Dienst auf jedem Knoten bereit. Pods auf dem Knoten senden ihre DNS-Abfragen an diesen lokalen Cache, wodurch eine schnellere Auflösung ermöglicht wird, indem Netzwerkhüpfungen reduziert werden. Dieser Ansatz minimiert außerdem die Nutzung der conntrack-Tabelle und verringert damit das Risiko einer Tabellenauslastung. Wenn upstream-DNS nicht verfügbar ist, kann LocalDNS weiterhin zwischengespeicherte Antworten für eine konfigurierbare Dauer verarbeiten, wodurch die Pod-Konnektivität und die Dienstsicherheit beibehalten werden können.
LocalDNS und AKS Automatic
AKS Automatic konfiguriert LocalDNS automatisch als Teil seiner produktionsreifen Standardkonfiguration vor. Sie müssen keinen separaten Aktivierungsbefehl auf AKS Automatic Clusters ausführen.
Verwenden Sie diesen Artikel, um zu verstehen, wie LocalDNS funktioniert und warum es das DNS-Verhalten für AKS-Workloads verbessert. Wenn Sie Aktivierungs- und Konfigurationsschritte für AKS Standard benötigen, verwenden Sie die Anleitung für LocalDNS.
Wichtige Funktionen
-
Reduzierte DNS-Auflösungslatenz: Jeder AKS-Knoten führt einen LocalDNS-Dienst
systemdaus. Workloads, die auf dem Knoten ausgeführt werden, senden DNS-Abfragen an diesen Dienst, wodurch sie lokal aufgelöst werden, wodurch Netzwerkhüpfungen reduziert und DNS-Nachschlagevorgänge beschleunigt werden. -
Anpassbares DNS-Verhalten: Verwenden Sie
kubeDNSOverridesundvnetDNSOverrideszur Steuerung des DNS-Verhaltens im Cluster. -
Vermeiden Sie Conntrack-Rennen und Conntrack-Tabellenausschöpfung: Pods senden DNS-Abfragen an den LocalDNS-Dienst auf demselben Knoten, ohne neue
conntrackTabelleneinträge zu erstellen. Durch Überspringen der Verbindungsverfolgung können conntrack-Racebedingungen reduziert werden. Außerdem wird verhindert, dassconntrack-Tabellen mit DNS-Einträgen des User Datagram-Protokolls (UDP) überfüllt werden. Diese Optimierung verhindert, dass Verbindungen durch die Auslastung derconntrack-Tabelle und aufgrund von Racebedingungen getrennt oder abgelehnt werden. -
Verbindung wurde auf TCP aktualisiert: Die Verbindung vom
localdnsCache zum CoreDNS-Dienst des Clusters verwendet das Transmission Control Protocol (TCP). TCP ermöglicht die Neubalancierung der Verbindung und entferntconntrackTabelleneinträge, wenn der Server die Verbindung schließt (im Gegensatz zu UDP-Verbindungen, die über ein Standardmäßiges Timeout von 30 Sekunden verfügen). Anwendungen benötigen keine Änderungen, da derlocaldnsDienst weiterhin auf UDP-Datenverkehr lauscht. -
Zwischenspeichern: Sie können das LocalDNS-Cache-Plug-In mit
serveStaleund Time to Live (TTL)-Einstellungen konfigurieren. Legen Sie die ParameterserveStale,serveStaleDurationInSecondsundcacheDurationInSecondsfest, um DNS-Resilienz zu erreichen, selbst während des Ausfalls eines Upstream-DNS-Servers. -
Protokollsteuerelement: Legen Sie das DNS-Abfrageprotokoll (z
PreferUDP. B. oderForceTCP) für jede Domäne fest. Mit dieser Flexibilität können Sie DEN DNS-Datenverkehr für bestimmte Domänen optimieren oder die Netzwerkanforderungen erfüllen.
Weitere Vorteile und Überlegungen
| Vorteile | Überlegungen |
|---|---|
| Bessere Skalierbarkeit: Reduziert die Auslastung von zentralen CoreDNS-Pods | Minimaler Ressourcenaufwand: Verwendet eine kleine Menge AN CPU und Arbeitsspeicher auf jedem Knoten. |
| Nahtlose Integration: Erfordert keine Änderungen an vorhandenen Anwendungsverbindungen | Konfigurationsänderungen: Updates erfordern Knotenimageupgrades, die temporäre Unterbrechungen verursachen können |
| Ungültige Suchdomänen blockieren: Verhindert ungültige DNS-Abfragen auf Knotenebene | Verfügbarkeitsplanung: Teams mit AKS Standard sollten bewerten, ob dns-Leistung und Ausfallsicherheit die Aktivierung von LocalDNS rechtfertigen. |
Verhalten von AKS Automatic und AKS Standard
| Cluster-Modus | LocalDNS-Verhalten |
|---|---|
| AKS Automatik | Vorkonfiguriert |
| AKS Standard | Fakultativ |
Mithilfe von LocalDNS erhalten Sie eine schnellere und zuverlässigere DNS-Auflösung für Ihre Workloads, verringern das Risiko von DNS-bezogenen Ausfällen und erhalten mehr Kontrolle über DEN DNS-Datenverkehr in Ihrer AKS-Umgebung.
Verwandte Inhalte
- Weitere Informationen zu AKS Automatic finden Sie unter Was ist Azure Kubernetes Service (AKS) Automatisch?
- Informationen zum Erstellen eines automatischen AKS-Clusters finden Sie in der Schnellstartanleitung: Erstellen eines automatischen AKS-Clusters.
- Informationen zum Aktivieren von LocalDNS und zum Konfigurieren ihrer Einstellungen in Ihrem AKS-Cluster finden Sie in der Anleitung zu LocalDNS.
- Weitere Informationen zu den Kernnetzwerkkonzepten finden Sie unter Netzwerkkonzepte für Anwendungen in Azure Kubernetes Service (AKS).