External DNS Operator configuration parameters
The External DNS Operator includes the following configuration parameters:
Parameter | Description |
---|
| Enables the type of a cloud provider. spec: provider: type: AWS (1) aws: credentials: name: aws-access-key (2)
1 | Defines available options such as AWS, GCP and Azure. | 2 | Defines a name of the secret which contains credentials for your cloud provider. |
|
| Enables you to specify DNS zones by their domains. If you do not specify zones, ExternalDNS discovers all the zones present in your cloud provider account. 1 | Specifies the IDs of DNS zones. |
|
| Enables you to specify AWS zones by their domains. If you do not specify domains, ExternalDNS discovers all the zones present in your cloud provider account. domains: - filterType: Include (1) matchType: Exact (2) name: “myzonedomain1.com” (3) - filterType: Include matchType: Pattern (4) pattern: “.*\.otherzonedomain\.com” (5)
1 | Instructs ExternalDNS to include the domain specified. | 2 | Instructs ExtrnalDNS that the domain matching has to be exact as opposed to regular expression match. | 3 | Defines the exact domain name by which ExternalDNS filters. | 4 | Sets regex-domain-filter flag in ExternalDNS . You can limit possible domains by using a Regex filter. | 5 | Defines the regex pattern to be used by ExternalDNS to filter the domains of the target zones. |
|
| Enables you to specify the source for the DNS records, Service or Route . source: (1) type: Service (2) service: serviceType:(3) - LoadBalancer - ClusterIP labelFilter: (4) matchLabels: external-dns.mydomain.org/publish: “yes” hostnameAnnotation: “Allow” (5) fqdnTemplate: - “{{.Name}}.myzonedomain.com” (6)
1 | Defines the settings for the source of DNS records. | 2 | ExternalDNS uses Service type as source for creating dns records. | 3 | Sets service-type-filter flag in ExternalDNS . The serviceType contains the following fields:default : LoadBalancer
expected : ClusterIP
NodePort
LoadBalancer
ExternalName
| 4 | Ensures that the controller considers only those resources which matches with label filter. | 5 | The default value for hostnameAnnotation is Ignore which instructs ExternalDNS to generate DNS records using the templates specified in the field fqdnTemplates . When the value is Allow the DNS records get generated based on the value specified in the external-dns.alpha.kubernetes.io/hostname annotation. | 6 | External DNS Operator uses a string to generate DNS names from sources that don’t define a hostname, or to add a hostname suffix when paired with the fake source. |
source: type: OpenShiftRoute (1) openshiftRouteOptions: routerName: default (2) labelFilter: matchLabels: external-dns.mydomain.org/publish: “yes”
1 | ExternalDNS` uses type route as source for creating dns records. | 2 | If the source is OpenShiftRoute , then you can pass the Ingress Controller name. The ExternalDNS uses canonical name of Ingress Controller as the target for CNAME record. |
|