ExternalDNS

Zweck

ExternalDNS verwaltet DNS-Einträge automatisch auf Basis von Kubernetes-Ressourcen.

Ziele

  • Automatische DNS-Verwaltung

  • GitOps-kompatible DNS-Einträge

  • Reduzierung manueller DNS-Änderungen

Architektur

Ingress
   |
ExternalDNS
   |
DNS Provider
   |
A / AAAA Record

Verwendete Ressourcen

ExternalDNS überwacht:

  • Ingresses

  • Services vom Typ LoadBalancer

  • Gateway API Ressourcen

Beispiel

metadata:
  annotations:
    external-dns.alpha.kubernetes.io/hostname: paperless.tamay.cloud

Beispielablauf

  1. Ingress wird erstellt

  2. ExternalDNS erkennt den Hostnamen

  3. DNS Record wird erstellt oder aktualisiert

  4. Service wird erreichbar

Vorteile

  • Vollautomatische DNS-Verwaltung

  • GitOps-freundlich

  • Unterstützung für IPv4 und IPv6

Betrieb

Logs anzeigen

kubectl logs \
  -n external-dns \
  deployment/external-dns

DNS-Änderungen prüfen

kubectl describe ingress <name>

Architekturentscheidung