DNS-resolutie in Azure Kubernetes Service (AKS)

Van toepassing op: ✔️ AKS Automatic ✔️ AKS Standard

Dns-omzetting (Domain Name System) is een essentieel onderdeel in Azure Kubernetes Service (AKS), waardoor pods en services kunnen communiceren met behulp van door mensen leesbare namen in plaats van IP-adressen. AKS biedt ingebouwde DNS-services om naadloze naamomzetting te garanderen voor zowel interne clusterbronnen als externe eindpunten. Inzicht in hoe DNS werkt in AKS helpt clusteroperators en ontwikkelaars om betrouwbare connectiviteit te garanderen, prestaties te optimaliseren en netwerkproblemen effectief op te lossen.

AKS Automatic is de aanbevolen standaardinstelling die gereed is voor productie voor de meeste AKS-workloads. Automatische AKS-clusters worden vooraf geconfigureerd met LocalDNS om de DNS-prestaties te verbeteren, conntrackdruk te verminderen en de tolerantie te verhogen zonder dat er extra instellingen nodig zijn.

Op AKS Standard is LocalDNS optioneel en kunt u deze afzonderlijk inschakelen en configureren.

Zie Wat is AKS Automatic voor meer informatie over AKS Automatic?

CoreDNS in Azure Kubernetes Service

CoreDNS is de standaard-DNS-service in AKS. Het biedt interne naamomzetting en servicedetectie voor workloads die in het cluster worden uitgevoerd. Het werkt als een set pods in de kube-system naamruimte en is nauw geïntegreerd met Kubernetes-netwerken.

Wanneer een pod in AKS een DNS-query verstuurt, bijvoorbeeld om de naam van een andere service om te zetten, gaat het verzoek naar de CoreDNS-pods. Deze pods verwerken de query en retourneren het juiste IP-adres of sturen de aanvraag door naar een upstream DNS-server voor externe domeinen.

Deze architectuur zorgt voor een evenwicht tussen flexibiliteit en operationele veiligheid in een beheerde omgeving. Raadpleeg de Handleiding voor het aanpassen van CoreDNS in AKS voor meer informatie over het aanpassen van CoreDNS in AKS.

Zie de upstream-projectpagina CoreDNS voor informatie over het CoreDNS-project.

LocalDNS in Azure Kubernetes Service

Opmerking

Dit artikel bevat een overzicht van wat LocalDNS is en wat de voordelen zijn in AKS.

Voor AKS Automatic is LocalDNS vooraf geconfigureerd.

Zie voor AKS Standard de handleiding voor LocalDNS voor informatie over het inschakelen en configureren van LocalDNS.

Overzicht

LocalDNS is een geavanceerde functie in Azure Kubernetes Service (AKS) waarmee een DNS-proxy (Domain Name System) op elk knooppunt wordt geïmplementeerd om dns-omzetting met een zeer tolerante lage latentie te bieden. Door DNS-query's lokaal te verwerken, vermindert deze proxy het verkeer naar de CoreDNS-invoegtoepassingspods, waardoor de algehele BETROUWBAARHEID en prestaties in het cluster worden verbeterd. LocalDNS is met name nuttig in grote clusters of omgevingen met hoge DNS-queryvolumes, waarbij gecentraliseerde DNS-omzetting een knelpunt kan worden.

Wanneer LocalDNS is ingeschakeld, implementeert AKS een lokale DNS-cache als een systemd service op elk knooppunt. Pods op het knooppunt verzenden hun DNS-query's naar deze lokale cache, waardoor snellere resolutie mogelijk wordt door netwerkhops te verminderen. Deze benadering minimaliseert conntrack ook het gebruik van tabellen, waardoor het risico op tabeluitputting wordt verlaagd. Als upstream-DNS niet beschikbaar is, kan LocalDNS ook antwoorden in de cache blijven leveren voor een configureerbare duur, waardoor podconnectiviteit en servicebetrouwbaarheid behouden blijven.

Diagram met LocalDNS-architectuur.

LocalDNS en AKS Automatisch

AKS Automatic configureert LocalDNS vooraf als onderdeel van de standaardinstellingen voor productieomgevingen. U hoeft geen afzonderlijke enable-opdracht uit te voeren op AKS Automatic-clusters.

Gebruik dit artikel om te begrijpen hoe LocalDNS werkt en waarom het DNS-gedrag voor AKS-workloads verbetert. Als u stappen voor inschakelen en configureren voor AKS Standard nodig hebt, gebruikt u de handleiding localDNS.

Belangrijkste mogelijkheden

  • Verminderde latentie van DNS-omzetting: elk AKS-knooppunt voert een LocalDNS-service systemd uit. Workloads die op het knooppunt worden uitgevoerd, verzenden DNS-query's naar deze service, waardoor ze lokaal worden omgezet, waardoor netwerkhops worden verminderd en DNS-zoekacties worden versneld.
  • Aanpasbaar DNS-gedrag: Dns-gedrag kubeDNSOverrides gebruiken en vnetDNSOverrides beheren in het cluster.
  • Voorkom conntrack-races en uitputting van de conntrack-tabel: Pods sturen DNS-query’s naar de LocalDNS-service op hetzelfde knooppunt zonder nieuwe items in de conntrackconntrack-tabel aan te maken. Door het bijhouden van verbindingen over te slaan, helpt bij het verkleinen van conntrack-races en voorkomt dat DNS-vermeldingen van het User Datagram Protocol (UDP) tabellen vullen conntrack. Met deze optimalisatie voorkomt u verwijderde en geweigerde verbindingen die worden veroorzaakt door conntrack tabeluitputting en racevoorwaarden.
  • Verbinding die is bijgewerkt naar TCP: de verbinding van de localdns cache naar de CoreDNS-service van het cluster maakt gebruik van Transmission Control Protocol (TCP). TCP maakt het opnieuw verdelen van verbindingen mogelijk en verwijdert tabelvermeldingen conntrack wanneer de server de verbinding sluit (in tegenstelling tot UDP-verbindingen, die een standaard time-out van 30 seconden hebben). Toepassingen hebben geen wijzigingen nodig, omdat de localdns service nog steeds luistert naar UDP-verkeer.
  • Caching: U kunt de LocalDNS-cache-invoegtoepassing configureren met serveStale en TTL-instellingen (Time to Live). Stel de parameters serveStale, serveStaleDurationInSeconds en cacheDurationInSeconds in om DNS-veerkracht te bereiken, zelfs tijdens een upstream-DNS-uitval.
  • Protocolbeheer: stel het DNS-queryprotocol (zoals PreferUDP of ForceTCP) voor elk domein in. Met deze flexibiliteit kunt u DNS-verkeer optimaliseren voor specifieke domeinen of voldoen aan de netwerkvereisten.

Andere voordelen en overwegingen

Voordelen Overwegingen
Betere schaalbaarheid: vermindert de belasting van gecentraliseerde CoreDNS-pods Minimale resourceoverhead: maakt gebruik van een kleine hoeveelheid CPU en geheugen op elk knooppunt
Naadloze integratie: vereist geen wijzigingen in bestaande toepassingsverbindingen Configuratiewijzigingen: updates vereisen upgrades van knooppuntinstallatiekopieën, wat tijdelijke onderbrekingen kan veroorzaken
Ongeldige zoekdomeinen blokkeren: voorkomt ongeldige DNS-query's op knooppuntniveau Beschikbaarheidsplanning: Teams die AKS Standard gebruiken, moeten evalueren of DNS-prestaties en tolerantie het inschakelen van LocalDNS rechtvaardigen

Gedrag van AKS Automatic en AKS Standard

Clustermodus LocalDNS-gedrag
AKS Automatisch Vooraf geconfigureerde
AKS Standard Optional

Door LocalDNS te gebruiken, krijgt u snellere en betrouwbaardere DNS-omzetting voor uw workloads, vermindert u het risico op DNS-gerelateerde storingen en krijgt u meer controle over DNS-verkeer in uw AKS-omgeving.