External-DNS is a Kubernetes addon that synchronizes exposed Kubernetes Services and Ingresses with DNS providers. It enables you to dynamically manage DNS records for your Kubernetes services, making them accessible from outside the cluster using human-readable domain names.
While External-DNS configuration primarily involves annotations on Kubernetes resources, here's an example of a Service with an External-DNS annotation:
```yaml apiVersion: v1 kind: Service metadata:
name: my-service annotations: external-dns.alpha.kubernetes.io/hostname: my-service.example.comspec:
selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 8080```
This annotation tells External-DNS to create an A record for `my-service.example.com` pointing to the external IP address of the service.