I have a stack set up with external-dns -> etcd -> coredns via etcd plugin. A records resolve correctly, but all CNAME records only return NOERROR and no value even though the CNAME’s target is an A record existing in the same etcd as shown below:
When I checked the etcd plugin documentation, it doesn’t mention CNAME records except for records pointing to external names. The Corefile and etcd state are below. Are CNAMEs not supported or am I doing something wrong? The whole external-dns is built around CNAMEs so I can’t really imagine why its developers would support coredns via etcd/skydns if one of the core usecases wasn’t supported…
.:53 {
errors
health {
lameduck 5s
}
ready
prometheus 0.0.0.0:9153
log
etcd example.com {
stubzones
path /skydns
endpoint http://external-dns-etcd.external-dns-system.svc.cluster.local:2379
credentials root <password redacted>
upstream
}
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
Data in etcd created by external-dns
/skydns/com/example/a-example2/00e24061
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=crd/external-dns-
system/example"","targetstrip":1}
/skydns/com/example/a-example2/2c23e944
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=crd/external-dns-system/example"","targetstrip":1}
/skydns/com/example/a-traefik/1d8b7880
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=service/traefik-system/traefik"","targetstrip":1}
/skydns/com/example/a-traefik/664f46bc
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=service/traefik-system/traefik"","targetstrip":1}
/skydns/com/example/cname-example1/2f6d448d
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=crd/external-dns-system/example"","targetstrip":1}
/skydns/com/example/cname-oauth/0108beb1
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=ingressroute/traefik-system/traefik-oauth2-proxy"","targetstrip":1}
/skydns/com/example/cname-oauth/1c1d4220
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=ingressroute/traefik-system/traefik-oauth2-proxy"","targetstrip":1}
/skydns/com/example/cname-oauth/583611e5
{"text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=ingressroute/traefik-system/traefik-oauth2-proxy"","targetstrip":1}
/skydns/com/example/example1/270896aa
{"host":"example2.example.com","text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=crd/external-dns-system/example"","ttl":1,"targetstrip":1}
/skydns/com/example/example2/1ba35cde
{"host":"1.1.1.1","text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=crd/external-dns-system/example"","ttl":1,"targetstrip":1}
/skydns/com/example/oauth/6dec8b0b
{"host":"traefik.example.com","text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=ingressroute/traefik-system/traefik-oauth2-proxy"","ttl":1,"targetstrip":1}
/skydns/com/example/traefik/417b21b7
{"host":"10.1.2.128","text":""heritage=external-dns,external-dns/owner=default,external-dns/resource=service/traefik-system/traefik"","targetstrip":1}