← Katalog
E I A C

ExternalDNS

Infrastructure-as-Code

Rekordy DNS sterowane zasobami Kubernetes (DNS-as-code).

★ 9000 Apache-2.0 #iac#dns#kubernetes#automation

ExternalDNS synchronizuje rekordy DNS u zewnętrznych dostawców (Cloudflare, Route 53, Google i dziesiątki innych) na podstawie zasobów Kubernetes — Service i Ingress. Zamiast ręcznie zakładać wpisy DNS, deklarujesz je adnotacjami/hostami w manifestach, a kontroler utrzymuje strefę w zgodzie z klastrem. DNS staje się kodem, wersjonowanym razem z aplikacją.

Kiedy używać

  • Chcesz, by wpisy DNS powstawały automatycznie z Ingress/Service.
  • Zarządzasz wieloma domenami/strefami i nie chcesz robić tego ręcznie.
  • Pracujesz w GitOps i traktujesz DNS jak resztę infrastruktury.

Przykład użycia

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: web
  annotations:
    external-dns.alpha.kubernetes.io/hostname: eiac.dev
spec:
  rules: [{ host: eiac.dev, http: { paths: [ ... ] } }]

ExternalDNS utworzy i zaktualizuje rekord eiac.dev u dostawcy DNS.

Warto wiedzieć

  • Świetnie współgra z cert-manager (DNS-01) i Kubernetes.
  • Wspiera wielu providerów DNS przez jeden kontroler.