Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
DNS-matchning (Domain Name System) är en viktig komponent i Azure Kubernetes Service (AKS), vilket gör det möjligt för poddar och tjänster att kommunicera med hjälp av läsbara namn i stället för IP-adresser. AKS tillhandahåller inbyggda DNS-tjänster för att säkerställa sömlös namnmatchning för både interna klusterresurser och externa slutpunkter. Att förstå hur DNS fungerar i AKS hjälper klusteroperatörer och utvecklare att säkerställa tillförlitlig anslutning, optimera prestanda och felsöka nätverksproblem effektivt.
CoreDNS i Azure Kubernetes Service
CoreDNS är standard-DNS-tjänsten i Azure Kubernetes Service (AKS), som tillhandahåller intern namnmatchning och tjänstidentifiering för arbetsbelastningar som körs i klustret. Den fungerar som en uppsättning poddar i kube-system-namnområdet och är nära integrerad med Kubernetes-nätverk.
När en podd i AKS utfärdar en DNS-fråga, till exempel att matcha namnet på en annan tjänst, dirigeras begäran till CoreDNS-poddarna. Dessa poddar bearbetar frågan och returnerar lämplig IP-adress eller vidarebefordrar begäran till en överordnad DNS-server för externa domäner.
Den här arkitekturen garanterar en balans mellan flexibilitet och driftsäkerhet i en hanterad miljö. Mer information om hur du anpassar CoreDNS i AKS finns i anpassningsguiden för CoreDNS.
Information om CoreDNS-projektet finns på sidan för CoreDNS-uppströmsprojekt.
LocalDNS i Azure Kubernetes Service
Anmärkning
Det här dokumentet ger en översikt över vad LocalDNS är och dess fördelar i AKS. Den innehåller inte installationsinstruktioner. Vägledning om hur du aktiverar och konfigurerar LocalDNS finns i anvisningar för LocalDNS.
Översikt
LocalDNS är en avancerad funktion i Azure Kubernetes Service (AKS) som distribuerar en DNS-proxy på varje nod för att ge högmotståndskraftig DNS-upplösning med låg svarstid. Genom att hantera DNS-frågor lokalt minskar den här proxyn trafiken till CoreDNS-tilläggspoddar, vilket förbättrar den övergripande DNS-tillförlitligheten och prestandan i klustret. LocalDNS är särskilt fördelaktigt i stora kluster eller miljöer med höga DNS-frågevolymer, där centraliserad DNS-matchning kan bli en flaskhals.
När LocalDNS är aktiverat distribuerar AKS en lokal DNS-cache som en systemd tjänst på varje nod. Poddar på noden skickar sina DNS-frågor till den här lokala cachen, vilket möjliggör snabbare lösning genom att minska nätverkshoppen. Den här metoden minimerar conntrack också tabellanvändningen, vilket minskar risken för tabellöverbelastning. Om den överordnade DNS:en dessutom blir otillgänglig kan LocalDNS fortsätta att hantera cachelagrade svar under en konfigurerbar varaktighet, vilket bidrar till att upprätthålla poddanslutningen och tjänstens tillförlitlighet.
Viktiga funktioner
Kortare svarstid för DNS-matchning: Varje AKS-nod kör en LocalDNS-tjänst
systemd. Arbetsbelastningar som körs på noden skickar DNS-frågor till den här tjänsten, vilket löser dem lokalt, vilket minskar nätverkshoppen och påskyndar DNS-sökningar.Anpassningsbart DNS-beteende: Du kan använda
kubeDNSOverridesochvnetDNSOverridesför att styra DNS-beteendet i klustret.Undvik conntrack-lopp och överbelastning av conntrack-tabellen: Poddar skickar DNS-frågor till LocalDNS-tjänsten på samma nod utan att skapa nya
conntracktabellposter. Om du hoppar över anslutningsspårningen minskar du conntrack-tävlingar och undviker UDP-DNS-poster (User Datagram Protocol) från att fylla uppconntracktabeller. Den här optimeringen förhindrar förlorade och avvisade anslutningar som orsakas avconntracktabellöverbelastning och loppvillkor.Anslutning uppgraderad till TCP: Anslutningen från cachen
localdnstill klustrets CoreDNS-tjänst använder TCP (Transmission Control Protocol). TCP möjliggör ombalansering av anslutningar och tar bortconntracktabellposter när servern stänger anslutningen (till skillnad från UDP-anslutningar, som har en standardtidsgräns på 30 sekunder). Program behöver inte ändringar eftersomlocaldnstjänsten fortfarande lyssnar efter UDP-trafik.Cachelagring: Plugin-programmet för LocalDNS-cachen kan konfigureras med inställningar för serveStale och Time to Live (TTL).
serveStale,serveStaleDurationInSeconds, ochcacheDurationInSecondsparametrar kan konfigureras för att uppnå DNS-återhämtning, även under ett uppströms DNS-avbrott.Protokollkontroll: Du kan ange DNS-frågeprotokollet (till exempel PreferUDP eller ForceTCP) för varje domän. Med den här flexibiliteten kan du optimera DNS-trafik för specifika domäner eller uppfylla nätverkskrav.
Andra fördelar och överväganden
| Fördelar | Överväganden |
|---|---|
| Bättre skalbarhet: Minskar belastningen på centraliserade CoreDNS-poddar | Minimala resurskostnader: Använder en liten mängd processor och minne på varje nod |
| Sömlös integrering: Kräver inte ändringar i befintliga programanslutningar | Konfigurationsändringar: Uppdateringar kräver nodbilduppgraderingar, vilket kan orsaka tillfälliga störningar |
| Blockera ogiltiga sökdomäner: Förhindrar ogiltiga DNS-frågor på nodnivå |
Genom att använda LocalDNS får du snabbare och mer tillförlitlig DNS-matchning för dina arbetsbelastningar, minskar risken för DNS-relaterade avbrott och får mer kontroll över DNS-trafik i AKS-miljön.
Nästa steg
Mer information om hur du aktiverar LocalDNS och konfigurerar dess inställningar i AKS-klustret finns i anvisningar för LocalDNS.
Mer information om grundläggande nätverksbegrepp finns i Nätverksbegrepp för program i AKS.