Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✔️ AKS Automatic ✔️ AKS Standard
Řešení DNS (Domain Name System) je klíčovou součástí ve službě Azure Kubernetes Service (AKS), umožňující komunikaci mezi pody a službami pomocí názvů srozumitelných pro člověka namísto IP adres. AKS poskytuje integrované služby DNS pro zajištění bezproblémového překladu názvů pro interní prostředky clusteru i externí koncové body. Pochopení fungování DNS v AKS pomáhá operátorům clusteru a vývojářům zajistit spolehlivé připojení, optimalizovat výkon a efektivně řešit problémy se sítěmi.
AKS Automatic je doporučená výchozí volba pro produkční nasazení pro většinu úloh v AKS. Automatické clustery AKS jsou předem nakonfigurované pomocí LocalDNS, aby se zlepšil výkon DNS, snížil tlak conntrack a zvýšil odolnost bez nutnosti dalšího nastavení.
Poznámka:
Od verze Kubernetes 1.37 používá AKS Standard ve výchozím nastavení režim Preferred LocalDNS pro způsobilé fondy uzlů, které nemají výslovně nakonfigurovaný profil LocalDNS. V Preferred režimu povolí AKS LocalDNS pouze v případě, že fond uzlů a cluster projdou požadovanými kontrolami kompatibility. Pokud kontroly selžou, localDNS zůstane zakázaná. Explicitně nakonfigurované profily mají přednost před tímto výchozím nastavením, takže fond uzlů explicitně nastavený na Disabled zůstane vypnutý.
Pokud chcete zabránit povolení LocalDNS, explicitně nastavte režim LocalDNS na Zakázáno. Pokyny najdete v tématu Zakázání localDNS ve fondu uzlů.
Další informace o službě AKS Automatic najdete v tématu Co je automatické AKS?
CoreDNS ve službě Azure Kubernetes Service
CoreDNS je výchozí služba DNS v AKS. Poskytuje interní překlad názvů a zjišťování služeb pro úlohy spuštěné v clusteru. Funguje jako sada podů v jmenném prostoru kube-system a je úzce integrován se sítí Kubernetes.
Když pod v AKS vydá dotaz DNS, například překlad názvu jiné služby, požadavek přejde do podů CoreDNS. Tyto pody zpracovávají dotaz a vrací příslušnou IP adresu nebo předávají požadavek na nadřazený server DNS pro externí domény.
Tato architektura zajišťuje rovnováhu mezi flexibilitou a provozní bezpečností ve spravovaném prostředí. Podrobnosti o přizpůsobení CoreDNS v AKS najdete v průvodci přizpůsobením CoreDNS.
Pokud je localDNS aktivní, cesta k rozlišení závisí na podu dnsPolicy (Default nebo ClusterFirst) a na konfiguraci bloku serveru LocalDNS. Například když pod používá dnsPolicy: Default, externí dotazy DNS procházejí následující cestou:
Workload -> LocalDNS -> upstream DNS server
LocalDNS běží na uzlu jako jednotka systemd, takže dotaz obdrží dříve než CoreDNS.
cluster.local Dotazy se předávají do CoreDNS a externí dotazy se předávají buď do CoreDNS, nebo přímo na server DNS virtuální sítě. Přesné chování předávání pro každou zásadu DNS a výchozí konfiguraci najdete v tématu Bloky serveru pro LocalDNS.
Vlastní servery DNS virtuální sítě musí přijímat dotazy UDP i TCP DNS z uzlů AKS. S PreferUDP LocalDNS zopakuje dotaz přes protokol TCP, když je odpověď UDP zkrácena.
Informace o projektu CoreDNS najdete na stránce upstreamového projektu CoreDNS.
LocalDNS ve službě Azure Kubernetes Service
Poznámka:
Tento článek obsahuje přehled toho, co je LocalDNS a jaké jsou jeho výhody v AKS.
Pro službu AKS Automatic je předkonfigurovaná služba LocalDNS.
Pro AKS Standard najdete pokyny k povolení a konfiguraci LocalDNS v praktickém průvodci ke službě LocalDNS.
Přehled
LocalDNS je pokročilá funkce ve službě Azure Kubernetes Service (AKS), která nasazuje proxy server DNS (Domain Name System) na každém uzlu, aby poskytoval vysoce odolný překlad DNS s nízkou latencí. Díky místnímu zpracování dotazů DNS tento proxy server snižuje provoz do doplňků CoreDNS, což zlepšuje celkovou spolehlivost a výkon DNS v clusteru. LocalDNS je obzvláště přínosné v rozsáhlých clusterech nebo prostředích s velkými objemy dotazů DNS, kde se centralizované překlady DNS můžou stát kritickým bodem.
Když je povolen LocalDNS, AKS nasadí místní mezipaměť DNS jako systemd službu na každém uzlu. Pody na uzlu odesílají své dotazy DNS do této místní mezipaměti, což umožňuje rychlejší překlad snížením počtu síťových skoků. Tento přístup také minimalizuje conntrack využití tabulek a snižuje riziko vyčerpání tabulek. Pokud se navíc nadřazený DNS stane nedostupným, může LocalDNS dál obsluhovat odpovědi uložené v mezipaměti po konfigurovatelnou dobu, což pomáhá udržovat možnosti připojení podů a spolehlivost služeb.
LocalDNS a AKS – automatické
AKS Automatic předem nakonfiguruje LocalDNS v rámci svých výchozích nastavení připravených pro produkční prostředí. V automatických clusterech AKS nemusíte spouštět samostatný příkaz enable.
V tomto článku se dozvíte, jak localDNS funguje a proč zlepšuje chování DNS pro úlohy AKS. Pokud potřebujete postup aktivace a konfigurace pro AKS Standard, použijte návod k LocalDNS.
Klíčové funkce
-
Nižší latence překladu DNS: Každý uzel AKS spouští službu LocalDNS
systemd. Úlohy spuštěné na uzlu odesílají do této služby dotazy DNS, které jsou vyřešeny místně, což snižuje počet přeskoků v síti a urychluje vyhledávání DNS. -
Přizpůsobitelné chování DNS: Použití
kubeDNSOverridesavnetDNSOverridesřízení chování DNS v clusteru. -
Zabraňte kolizím při conntracku a vyčerpání tabulky conntrack: Pody odesílají dotazy DNS službě LocalDNS na stejném uzlu, aniž by vytvářely nové položky v tabulce
conntrack. Přeskočení sledování připojení pomáhá omezit závody conntrack a vyhnout se záznamům DNS protokolu UDP (User Datagram Protocol) z vyplňováníconntracktabulek. Tato optimalizace zabraňuje vyřazeným a odmítnutým připojením způsobeným vyčerpánímconntracktabulek a podmínkami časování. -
Připojení upgradované na TCP: Připojení z
localdnsmezipaměti ke službě CoreDNS clusteru používá protokol TCP (Transmission Control Protocol). Protokol TCP umožňuje znovu vyrovnávání připojení a odebíráconntrackpoložky tabulky, když server připojení zavře (na rozdíl od připojení UDP, která mají výchozí časový limit 30 sekund). Aplikace nepotřebují změny, protoželocaldnsslužba stále naslouchá provozu UDP. -
Ukládání do mezipaměti: Modul mezipaměti LocalDNS můžete nakonfigurovat pomocí
serveStalea nastavení doby životnosti (TTL).serveStaleNastavte ,serveStaleDurationInSecondsacacheDurationInSecondsparametry pro dosažení odolnosti DNS, a to i během upstreamového výpadku DNS. -
Řízení protokolu: Nastavte upřednostňovaný protokol dotazu DNS, například
PreferUDPneboForceTCP, pro každou doménu.PreferUDPnení instrukce, která by používala výhradně UDP. Resolver může dotaz zopakovat nebo přejít na TCP, takže nadřazené vlastní servery DNS a síťové mechanismy řízení musí podporovat port 53 pro UDP i TCP.
Další výhody a důležité informace
| Výhody | Úvahy |
|---|---|
| Lepší škálovatelnost: Snižuje zatížení centralizovaných podů CoreDNS. | Minimální režijní náklady na prostředky: Využívá malé množství procesoru a paměti na každém uzlu. |
| Bezproblémová integrace: Nevyžaduje změny stávajících připojení aplikací. | Změny konfigurace: Aktualizace vyžadují upgrady image uzlu, což může způsobit dočasné přerušení |
| Blokování neplatných domén vyhledávání: Zabrání neplatným dotazům DNS na úrovni uzlu. | Plánování dostupnosti: Týmy používající standard AKS by měly vyhodnotit, jestli výkon a odolnost DNS odůvodňují povolení LocalDNS. |
Automatické chování AKS a AKS Standard
| Režim clusteru | Chování LocalDNS |
|---|---|
| AKS automatické | Předkonfigurované |
| AKS Standard, Kubernetes 1.31 až 1.36 | Explicitně nakonfigurováno pro každý fond uzlů |
| AKS Standard, Kubernetes 1.37 a novější | Pokud neexistuje žádný explicitní profil LocalDNS, jako výchozí se pro způsobilé fondy uzlů nastaví Preferred. LocalDNS je povolen pouze v případech, kdy kontrola kompatibility projde. Explicitní profily, včetně Disabled, se zachovají. |
Pomocí LocalDNS získáte rychlejší a spolehlivější překlad DNS pro vaše úlohy, snížíte riziko výpadků souvisejících s DNS a získáte větší kontrolu nad provozem DNS ve vašem prostředí AKS.
Související obsah
- Další informace o službě AKS Automatic najdete v tématu Co je Azure Kubernetes Service (AKS) Automatic?
- Informace o vytvoření automatického clusteru AKS najdete v tématu Rychlý start: Vytvoření automatického clusteru AKS.
- Informace o povolení LocalDNS a konfiguraci jeho nastavení v clusteru AKS najdete v průvodci postupy LocalDNS.
- Další informace o základních konceptech sítě najdete v tématu Koncepty sítě pro aplikace v AKS.