Community

ExternalDNS#
ExternalDNS makes Kubernetes resources discoverable via public DNS servers. Like KubeDNS, it retrieves a list of resources (Services, Ingresses, etc.) from the Kubernetes API to determine a desired list of DNS records. Unlike KubeDNS, however, it’s not a DNS server itself, but merely configures other DNS providers accordingly—e.g. AWS Route 53 or Google Cloud DNS.
In a broader sense, ExternalDNS allows you to control DNS records dynamically via Kubernetes resources in a DNS provider-agnostic way.
Prerequisites#
Deploy k0rdent v1.7.0: QuickStart
Install template to k0rdent#
helm upgrade --install external-dns oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=external-dns:1.20.0" -n kcm-system
Verify service template#
Deploy service template#
Configuration with Cloudflare#
Use ExternalDNS to leverage Cloudflare provider.
apiVersion: k0rdent.mirantis.com/v1beta1
kind: ClusterDeployment
# kind: MultiClusterService
...
serviceSpec:
services:
- template: external-dns-1-20-0
name: external-dns
namespace: external-dns
values: |
external-dns:
provider:
name: cloudflare
env:
- name: CF_API_TOKEN
valueFrom:
secretKeyRef:
name: dns-tokens
key: cloudflare
You need to have your DNS provider access secret in your managed cluster, e.g. for Cloudflare: