Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✔️ AKS Otomatik ✔️ AKS Standart
Etki Alanı Adı Sistemi (DNS) çözümlemesi, Azure Kubernetes Service'te (AKS) önemli bir bileşendir ve podların ve hizmetlerin IP adresleri yerine insan tarafından okunabilir adlar kullanarak iletişim kurmasını sağlar. AKS, hem iç küme kaynakları hem de dış uç noktalar için sorunsuz ad çözümlemesi sağlamak için yerleşik DNS hizmetleri sağlar. DNS'nin AKS'de nasıl çalıştığını anlamak, küme operatörlerinin ve geliştiricilerin güvenilir bağlantı sağlamalarına, performansı iyileştirmelerine ve ağ sorunlarını etkili bir şekilde gidermelerine yardımcı olur.
AKS Otomatik, çoğu AKS iş yükü için önerilen üretime hazır varsayılan değerdir. AKS Otomatik kümeleri, DNS performansını geliştirmek, izleme baskısını azaltmak ve ek kurulum gerektirmeden dayanıklılığı artırmak için LocalDNS ile önceden yapılandırılmış olarak gelir.
Uyarı
Kubernetes 1.37'den başlayarak AKS Standard, LocalDNS modunu varsayılan olarak açıkça yapılandırılmış bir LocalDNS profili olmayan uygun düğüm havuzlarına uygular Preferred . Modunda Preferred AKS, LocalDNS'yi yalnızca düğüm havuzu ve küme gerekli uyumluluk denetimlerini geçtiğinde etkinleştirir. Denetimler başarısız olursa LocalDNS devre dışı kalır. Açıkça yapılandırılan profiller bu varsayılanın önceliğini alır; bu nedenle, açıkça Disabled olarak ayarlanan bir düğüm havuzu devre dışı kalır.
LocalDNS'nin etkinleştirilmesini önlemek için LocalDNS modunu açıkça Devre Dışı olarak ayarlayın. Yönergeler için bkz. Düğüm Havuzunda LocalDNS'yi Devre Dışı Bırakma.
AKS Otomatik hakkında daha fazla bilgi için bkz. AKS Otomatik nedir?
Azure Kubernetes Service'te CoreDNS
CoreDNS , AKS'deki varsayılan DNS hizmetidir. Kümede çalışan iş yükleri için iç ad çözümlemesi ve hizmet bulma sağlar.
kube-system ad alanında bir dizi pod olarak çalışır ve Kubernetes ağ iletişimiyle sıkı bir şekilde entegredir.
AKS'deki bir pod başka bir hizmetin adını çözümleme gibi bir DNS sorgusu çalıştırdığında istek CoreDNS podlarına gider. Bu podlar sorguyu işler ve uygun IP adresini döndürür veya isteği dış etki alanları için bir yukarı akış DNS sunucusuna iletir.
Bu mimari, yönetilen bir ortamda esneklik ve operasyonel güvenlik arasında bir denge sağlar. AKS'de CoreDNS'yi özelleştirme hakkında ayrıntılı bilgi için CoreDNS özelleştirme kılavuzuna bakın.
LocalDNS etkin olduğunda, çözüm yolu pod'un dnsPolicy (Default veya ClusterFirst) ve LocalDNS sunucusu blok yapılandırmasına bağlıdır. Örneğin, bir pod dnsPolicy: Default kullandığında, dış DNS sorguları aşağıdaki yolu izler:
Workload -> LocalDNS -> upstream DNS server
LocalDNS, düğüm üzerinde bir systemd birimi olarak çalıştığı için sorguyu CoreDNS’den önce alır.
cluster.local sorgular CoreDNS'ye, dış sorgular ise CoreDNS'ye veya doğrudan sanal ağ (VNet) DNS sunucusuna iletilir. Her DNS ilkesi ve varsayılan yapılandırma için tam iletme davranışı için bkz. LocalDNS için sunucu blokları.
Özel sanal ağ DNS sunucuları, AKS düğümlerinden hem UDP hem de TCP DNS sorgularını kabul etmelidir .
PreferUDP ile, bir UDP yanıtı kesildiğinde LocalDNS TCP üzerinden yeniden dener.
CoreDNS projesi hakkında bilgi için CoreDNS yukarı akış projesi sayfasına bakın.
Azure Kubernetes Service'te LocalDNS
Uyarı
Bu makalede LocalDNS'nin ne olduğu ve AKS'deki avantajlarına genel bir bakış sağlanmaktadır.
AKS Otomatik için LocalDNS önceden yapılandırılmıştır.
AKS Standard için LocalDNS'yi etkinleştirme ve yapılandırma yönergeleri için bkz. LocalDNS nasıl yapılır kılavuzu.
Genel Bakış
LocalDNS, Azure Kubernetes Service'te (AKS) yüksek oranda dayanıklı, düşük gecikme süreli DNS çözümlemesi sağlamak için her düğüme bir Etki Alanı Adı Sistemi (DNS) proxy'si dağıtan gelişmiş bir özelliktir. Bu ara sunucu, DNS sorgularını yerel olarak işleyerek CoreDNS eklenti podlarına gelen trafiği azaltarak kümedeki genel DNS güvenilirliğini ve performansını artırır. LocalDNS, merkezi DNS çözümlemenin bir performans sorununa dönüşebileceği yüksek DNS sorgu birimlerine sahip büyük kümelerde veya ortamlarda özellikle yararlıdır.
LocalDNS etkinleştirildiğinde AKS, her düğümde bir yerel DNS önbelleğini hizmet olarak systemd dağıtır. Düğümdeki podlar DNS sorgularını bu yerel önbelleğe gönderir ve ağ atlamalarını azaltarak daha hızlı çözümleme sağlar. Bu yaklaşım tablo kullanımını da en aza indirerek conntrack tablo tükenme riskini azaltır. Ayrıca, yukarı akış DNS kullanılamaz duruma gelirse LocalDNS yapılandırılabilir bir süre boyunca önbelleğe alınmış yanıtlar sunarak pod bağlantısının ve hizmet güvenilirliğinin korunmasına yardımcı olabilir.
LocalDNS ve AKS Otomatik
AKS Otomatik, LocalDNS'yi üretime hazır varsayılanlarının bir parçası olarak önceden yapılandırıyor. AKS Otomatik kümelerinde ayrı bir etkinleştirme komutu çalıştırmanız gerekmez.
LocalDNS'nin nasıl çalıştığını ve AKS iş yükleri için DNS davranışını neden geliştirdiğini anlamak için bu makaleyi kullanın. AKS Standard için etkinleştirme ve yapılandırma adımlarına ihtiyacınız varsa LocalDNS nasıl yapılır kılavuzunu kullanın.
Önemli özellikler
-
Azaltılmış DNS çözümleme gecikmesi: Her AKS düğümü bir LocalDNS
systemdhizmeti çalıştırır. Düğümde çalışan iş yükleri bu hizmete DNS sorguları gönderir ve bu sorgular yerel olarak çözümlenerek ağ atlamalarını azaltır ve DNS aramalarını hızlandırır. -
Özelleştirilebilir DNS davranışı: Kümedeki DNS davranışını kontrol etmek için
kubeDNSOverridesvevnetDNSOverrideskullanın. -
Conntrack yarışlarından ve conntrack tablosu tükenmelerinden kaçının: Podlar, yeni
conntracktablo girdileri oluşturmadan dns sorgularını aynı düğümdeki LocalDNS hizmetine gönderir. Bağlantı izlemenin atlanması conntrack yarışlarının azaltılmasına yardımcı olur ve Kullanıcı Datagram Protokolü (UDP) DNS girişlerinin tabloları doldurmasınıconntrackönler. Bu optimizasyon, tablo kapasitesinin tükenmesi ve yarış durumundanconntrackkaynaklanan bırakılan ve reddedilen bağlantıları önler. -
TCP'ye yükseltilen bağlantı: Önbellekten
localdnskümenin CoreDNS hizmetine yapılan bağlantı, İletim Denetimi Protokolü'nü (TCP) kullanır. TCP, bağlantı yeniden dengelemesine izin verir ve sunucu bağlantıyı kapattığında tablo girdilerini kaldırırconntrack(varsayılan 30 saniyelik zaman aşımına sahip UDP bağlantılarının aksine). Hizmet UDP trafiğini dinlemeye devam ettiğindenlocaldnsuygulamaların değişikliğe ihtiyacı yoktur. -
Önbelleğe alma: LocalDNS önbellek eklentisini ve Yaşam Süresi (TTL) ayarlarıyla
serveStaleyapılandırabilirsiniz.serveStaleYukarı akış DNS kesintisi sırasında bile DNS dayanıklılığını elde etmek için ,serveStaleDurationInSecondsvecacheDurationInSecondsparametrelerini ayarlayın. -
Protokol denetimi: Her etki alanı için veya
ForceTCPgibiPreferUDPtercih edilen DNS sorgu protokollerini ayarlayın.PreferUDP, UDP'yi özel olarak kullanmaya yönelik bir yönerge değildir. Çözümleyici yeniden deneyebilir veya TCP'ye geri dönebilir, bu nedenle yukarı akış özel DNS sunucuları ve ağ denetimleri hem UDP hem de TCP bağlantı noktası 53'i desteklemelidir.
Diğer avantajlar ve dikkat edilmesi gerekenler
| Fayda -ları | Değerlendirmeler |
|---|---|
| Daha iyi ölçeklenebilirlik: Merkezi CoreDNS podlarında yükü azaltır | En düşük kaynak yükü: Her düğümde az miktarda CPU ve bellek kullanır |
| Sorunsuz tümleştirme: Mevcut uygulama bağlantılarında değişiklik gerektirmez | Yapılandırma değişiklikleri: Güncelleştirmeler düğüm görüntüsü yükseltmeleri gerektirir ve bu da geçici kesintilere neden olabilir |
| Geçersiz arama alan adlarını engelle: Düğüm düzeyinde geçersiz DNS sorgularını engeller | Kullanılabilirlik planlaması: AKS Standard kullanan ekipler, DNS performansının ve dayanıklılığının LocalDNS'yi etkinleştirmeyi gerekçelendirip gerekçelendirmediğini değerlendirmelidir |
AKS Otomatik ve AKS Standart davranışı
| Küme modu | LocalDNS davranışı |
|---|---|
| AKS Otomatik | Önceden yapılandırılmış |
| AKS Standard, Kubernetes 1.31 - 1.36 | Her düğüm havuzu için açıkça yapılandırılmış |
| AKS Standard, Kubernetes 1.37 ve üzeri | Açık bir LocalDNS profili mevcut olmadığında varsayılan olarak uygun düğüm havuzlarını Preferred kullanır. LocalDNS yalnızca uyumluluk denetimleri geçtiğinde etkinleştirilir.
Disabled dâhil açık profiller korunur. |
LocalDNS kullanarak iş yükleriniz için daha hızlı ve daha güvenilir DNS çözümlemesi elde edersiniz, DNS ile ilgili kesinti riskini azaltır ve AKS ortamınızdaki DNS trafiği üzerinde daha fazla denetim elde edersiniz.
İlgili içerik
- AKS Automatic hakkında daha fazla bilgi edinmek için bkz. Azure Kubernetes Service (AKS) Automatic nedir?
- AKS Otomatik kümesi oluşturmayı öğrenmek için bkz . Hızlı Başlangıç: AKS Otomatik kümesi oluşturma.
- LOCALDNS'yi etkinleştirmeyi ve AYARLARıNı AKS kümenizde yapılandırmayı öğrenmek için Bkz. LocalDNS nasıl yapılır kılavuzu.
- Temel ağ kavramları hakkında daha fazla bilgi edinmek için bkz . AKS'deki uygulamalar için ağ kavramları.