diff --git a/docs/gitbook/faq.md b/docs/gitbook/faq.md index b7a583be8..f4b8a8f7a 100644 --- a/docs/gitbook/faq.md +++ b/docs/gitbook/faq.md @@ -858,3 +858,42 @@ spec: mtls: mode: DISABLE ``` + +## ExternalDNS + +### Can I use annotations? + +Flagger propagates annotations (and labels) to all the generated apex, +primary and canary objects. This allows using external-dns annotations. + +You can configure Flagger to set annotations with: + +```yaml +spec: + service: + apex: + annotations: + external-dns.alpha.kubernetes.io/hostname: "mydomain.com" + primary: + annotations: + external-dns.alpha.kubernetes.io/hostname: "primary.mydomain.com" + canary: + annotations: + external-dns.alpha.kubernetes.io/hostname: "canary.mydomain.com" +``` + +### Multiple sources and Istio + +**/!\\** The apex annotations are added to both the generated Kubernetes Services and the generated Istio +VirtualServices objects. If you have configured external-dns to use both sources, +this will create conflicts! + +```yaml + spec: + containers: + args: + - --source=service # choose only one + - --source=istio-virtualservice # of these two +``` + +[Checkout ExeternalDNS documentation](https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/istio.md) diff --git a/docs/gitbook/usage/how-it-works.md b/docs/gitbook/usage/how-it-works.md index af02fe2aa..d2a77c525 100644 --- a/docs/gitbook/usage/how-it-works.md +++ b/docs/gitbook/usage/how-it-works.md @@ -186,7 +186,7 @@ spec: Note that the `apex` annotations are added to both the generated Kubernetes Service and the generated service mesh/ingress object. This allows using external-dns with Istio `VirtualServices` -and `TraefikServices`. +and `TraefikServices`. Beware of configuration conflicts [here](../faq.md#ExternalDNS). Besides port mapping and metadata, the service specification can contain URI match and rewrite rules, timeout and retry polices: