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.
Gäller för: ✔️ AKS Automatic ✔️ AKS Standard
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.
AKS Automatic är den rekommenderade produktionsklara standardinställningen för de flesta AKS-arbetsbelastningar. AKS Automatiska kluster är förkonfigurerade med LocalDNS för att förbättra DNS-prestanda, minska trycket på conntrack och öka motståndskraften utan att kräva extra installation.
På AKS Standard är LocalDNS valfritt och du kan aktivera och konfigurera det separat.
Mer information om AKS Automatic finns i Vad är AKS Automatic?
CoreDNS i Azure Kubernetes Service
CoreDNS är standard-DNS-tjänsten i AKS. Den 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, går 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
Den här artikeln innehåller en översikt över vad LocalDNS är och dess fördelar i AKS.
För AUTOMATISK AKS är LocalDNS förkonfigurerat.
Information om AKS Standard finns i instruktioner för LocalDNS för vägledning om hur du aktiverar och konfigurerar 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.
LocalDNS och AKS Automatic
AKS Automatisk förkonfigurerar LocalDNS som en del av dess produktionsklara standardinställningar. Du behöver inte köra ett separat aktiveringskommando på AKS Automatiska kluster.
Använd den här artikeln för att förstå hur LocalDNS fungerar och varför det förbättrar DNS-beteendet för AKS-arbetsbelastningar. Om du behöver aktiverings- och konfigurationssteg för AKS Standard använder du instruktionsguiden för LocalDNS.
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: Använd
kubeDNSOverridesochvnetDNSOverridesför att kontrollera DNS-beteendet i klustret. -
Undvik conntrack-lopp och överbelastning av conntrack-tabeller: 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: Du kan konfigurera LocalDNS cacheplugin med
serveStaleoch Time to Live (TTL)-inställningar. Ange parametrarnaserveStale,serveStaleDurationInSecondsochcacheDurationInSecondsför att uppnå DNS-återhämtning, även under ett uppströms DNS-avbrott. -
Protokollkontroll: Ange DNS-frågeprotokollet (till exempel
PreferUDPellerForceTCP) 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å | Tillgänglighetsplanering: Teams som använder AKS Standard bör utvärdera om DNS-prestanda och återhämtning motiverar aktivering av LocalDNS |
AKS Automatic- och AKS Standard-beteende
| Klusterläge | Beteende för LocalDNS |
|---|---|
| AKS Automatisk | Förkonfigurerade |
| AKS Standard | Optional |
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.
Relaterat innehåll
- Mer information om AKS Automatic finns i Vad är Azure Kubernetes Service (AKS) Automatisk?
- Information om hur du skapar ett AKS-automatiskt kluster finns i Snabbstart: Skapa ett AKS-automatiskt kluster.
- 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.