Service Discovery und DNS – Übersicht

In diesem Thema wird beschrieben, wie GKE on Azure mit Domain Name Services (DNS) interagiert.

Diensterkennung

Die Diensterkennung ist der Prozess, bei dem Arbeitslasten Dienste ermitteln, ohne die IP-Adresse des Dienstes zu kennen. In diesem Abschnitt wird beschrieben, wie GKE in Azure die Diensterkennung und verwaltetes DNS implementiert.

Kubernetes generiert automatisch Dienstnamen, die folgende Spezifikation verwenden:

service.namespace.svc.cluster.local

Wobei:

  • service: Name Ihres Dienstes
  • namespace: Namespace Ihres Dienstes

Arbeitslasten greifen auch über DNS-Namen auf externe Dienste wie example.net zu. Weitere Informationen zum Verhalten von DNS in Kubernetes finden Sie unter DNS für Dienste und Pods.

CoreDNS

GKE in Azure verwendet CoreDNS zum Auflösen von DNS-Namen in Clustern. CoreDNS wird als redundantes, skaliertes Deployment im Namespace kube-system ausgeführt. Das CoreDNS-Deployment verfügt über einen Service, der die CoreDNS-Pods gruppiert und ihnen eine einzige IP-Adresse zuweist. Das CoreDNS-Deployment wird mit der Größe und Nutzung des Clusters skaliert.

NodeLocal DNSCache

GKE in Azure verwendet NodeLocal DNSCache, um die DNS-Lookup-Leistung zu verbessern. NodeLocal DNSCache wird auf jedem Knoten im Cluster als DaemonSet ausgeführt. Wenn ein Pod eine DNS-Anfrage stellt, wird die Anfrage zuerst an den DNS-Cache auf demselben Knoten gesendet. Wenn der Cache die DNS-Anfrage nicht auflösen kann, leitet er die Anfrage an Folgendes weiter:

  • CoreDNS für einen internen Namen (z. B. foo.bar.svc.cluster.local)

Nächste Schritte