Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
Opmerking
Vanaf Kubernetes 1.37 past AKS Standard de Preferred LocalDNS-modus standaard toe op in aanmerking komende knooppuntgroepen die geen expliciet geconfigureerd LocalDNS-profiel hebben. In Preferred de modus schakelt AKS LocalDNS alleen in als de knooppuntgroep en het cluster de vereiste compatibiliteitscontroles doorstaan. Als de controles mislukken, blijft LocalDNS uitgeschakeld. Expliciet geconfigureerde profielen hebben voorrang op deze standaardinstelling, zodat een knooppuntgroep die expliciet is ingesteld Disabled op uitgeschakeld blijft.
Als u wilt voorkomen dat LocalDNS wordt ingeschakeld, stelt u de LocalDNS-modus expliciet in op Uitgeschakeld. Zie LocalDNS uitschakelen voor een knooppuntgroep voor instructies.
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.
Wanneer LocalDNS actief is, hangt het resolveringspad af van de Default van de pod (ClusterFirst of dnsPolicy) en van de serverblokconfiguratie van LocalDNS. Wanneer een pod bijvoorbeeld gebruikmaakt dnsPolicy: Default, nemen externe DNS-query's het volgende pad:
Workload -> LocalDNS -> upstream DNS server
LocalDNS wordt uitgevoerd als een systemd eenheid op het knooppunt, zodat deze de query ontvangt voordat CoreDNS dat doet.
cluster.local query's worden doorgestuurd naar CoreDNS en externe query's worden doorgestuurd naar CoreDNS of rechtstreeks naar de DNS-server van het virtuele netwerk (VNet). Zie Serverblokken voor LocalDNS voor het exacte doorstuurgedrag voor elk DNS-beleid en de standaardconfiguratie.
Aangepaste VNet DNS-servers moeten zowel UDP- als TCP DNS-query's van AKS-knooppunten accepteren . Met PreferUDP probeert LocalDNS opnieuw via TCP als een UDP-antwoord is afgekapt.
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.
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
systemduit. 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
kubeDNSOverridesgebruiken envnetDNSOverridesbeheren 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 vullenconntrack. Met deze optimalisatie voorkomt u verwijderde en geweigerde verbindingen die worden veroorzaakt doorconntracktabeluitputting en racevoorwaarden. -
Verbinding die is bijgewerkt naar TCP: de verbinding van de
localdnscache naar de CoreDNS-service van het cluster maakt gebruik van Transmission Control Protocol (TCP). TCP maakt het opnieuw verdelen van verbindingen mogelijk en verwijdert tabelvermeldingenconntrackwanneer 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 delocaldnsservice nog steeds luistert naar UDP-verkeer. -
Caching: U kunt de LocalDNS-cache-invoegtoepassing configureren met
serveStaleen TTL-instellingen (Time to Live). Stel de parametersserveStale,serveStaleDurationInSecondsencacheDurationInSecondsin om DNS-veerkracht te bereiken, zelfs tijdens een upstream-DNS-uitval. -
Protocolbeheer: stel voor elk domein het voorkeurs-DNS-queryprotocol in, zoals
PreferUDPofForceTCP.PreferUDPis geen instructie om UDP uitsluitend te gebruiken. De resolver kan opnieuw proberen of overschakelen op TCP, dus aangepaste upstream-DNS-servers en netwerkbeheermaatregelen moeten zowel UDP als TCP op poort 53 ondersteunen.
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, Kubernetes 1.31 tot en met 1.36 | Expliciet geconfigureerd per knooppuntgroep |
| AKS Standard, Kubernetes 1.37 en hoger | Stelt in aanmerking komende knooppuntgroepen standaard in op Preferred wanneer er geen expliciet LocalDNS-profiel bestaat. LocalDNS is alleen ingeschakeld als de compatibiliteitscontroles slagen. Expliciete profielen, waaronder Disabled, blijven behouden. |
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.
Verwante inhoud
- Zie Wat is Azure Kubernetes Service (AKS) Automatisch voor meer informatie over AKS Automatic?
- Zie quickstart: Een automatisch AKS-cluster maken voor meer informatie over het maken van een automatisch AKS-cluster.
- Zie de handleiding LocalDNS voor meer informatie over het inschakelen van LocalDNS en het configureren van de instellingen in uw AKS-cluster.
- Zie Netwerkconcepten voor toepassingen in AKS voor meer informatie over basisnetwerkconcepten.