Azure Kubernetes Service'te (AKS) DNS Çözümlemesi

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.

Azure Kubernetes Service'te CoreDNS

CoreDNS , Azure Kubernetes Service'teki (AKS) varsayılan DNS hizmetidir ve kümede çalışan iş yükleri için iç ad çözümlemesi ve hizmet bulma sağlar. Kube-system namespace'inde bir dizi pod olarak çalışır ve Kubernetes ağıyla sıkı bir şekilde entegre edilir.

AKS'deki bir pod başka bir hizmetin adını çözümleme gibi bir DNS sorgusu çalıştırdığında istek CoreDNS podlarına yönlendirilir. 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.

CoreDNS projesi hakkında bilgi için CoreDNS yukarı akış projesi sayfasına bakın.

Azure Kubernetes Service'te LocalDNS

Uyarı

Bu belge LocalDNS'nin ne olduğuna ve AKS'deki avantajlarına genel bir bakış sağlar. Kurulum yönergelerini içermez. 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 proxy, 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 mimarisini gösteren diyagram.

Önemli özellikler

  • Azaltılmış DNS çözümlemesi gecikme süresi: Her AKS düğümü bir LocalDNS systemd hizmeti ç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ışı:kubeDNSOverrides ve vnetDNSOverrides, kümedeki DNS davranışını denetlemek için kullanılabilir.

  • Conntrack yarışlarından ve conntrack tablo tükenmelerinden kaçının: Podlar, yeni conntrack tablo girdileri oluşturulmadan, aynı düğümde bulunan LocalDNS hizmetine DNS sorguları 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ış durumundan conntrack kaynaklanan bırakılan ve reddedilen bağlantıları önler.

  • TCP'ye yükseltilen bağlantı: Önbellekten localdns kümenin CoreDNS hizmetine olan 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ır conntrack (varsayılan 30 saniyelik zaman aşımına sahip UDP bağlantılarının aksine). Hizmet UDP trafiğini dinlemeye devam ettiğinden localdns uygulamaların değişikliğe ihtiyacı yoktur.

  • Önbelleğe alma: LocalDNS önbellek eklentisi serveStale ve Yaşam Süresi (TTL) ayarlarıyla yapılandırılabilir. serveStale, serveStaleDurationInSecondsve cacheDurationInSeconds parametreleri, bir yukarı akış DNS kesintisi sırasında bile DNS dayanıklılığını elde etmek için yapılandırılabilir.

  • Protokol denetimi: Her etki alanı için DNS sorgu protokollerini (PreferUDP veya ForceTCP gibi) ayarlayabilirsiniz. Bu esneklik, DNS trafiğini belirli etki alanları için iyileştirmenize veya ağ gereksinimlerini karşılamanıza olanak tanır.

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

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.

Sonraki Adımlar

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ı.