场景 | 绑定 Service[type=LoadBalancer] 到域名
通过为 Service[type=LoadBalancer] 添加注解,ExternalDNS 将自动在云商中添加 DNS 解析;
# kubectl annotate service nginx "external-dns.alpha.kubernetes.io/hostname=nginx.example.org" # kubectl annotate service nginx "external-dns.alpha.kubernetes.io/ttl=10"
场景 | 同个域名,被多个集群管理
–txt-owner-id “my-cluster-id”
通过该参数,其创建的 DNS 解析记录中将包含该 id 值,该值用于与其他 External DNS 实例创建的 DNS Record 进行区分。
场景 | 解析到特定地址
external-dns/docs/annotations/annotations.md at master · kubernetes-sigs/external-dns
external-dns.alpha.kubernetes.io/target: cdn-cname.exmaple.com
场景 | 最后的 CNAME 记录无法被删除
external-dns 会创建 3 条记录,当修改 Ingress Class 之后,最终的 CNAME 不会被删除。