×

The External DNS Operator includes the following configuration parameters.

External DNS Operator configuration parameters

The External DNS Operator includes the following configuration parameters:

Parameter Description

spec

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, Azure, and Infoblox.
2 Defines a secret name for your cloud provider.

zones

Enables you to specify DNS zones by their domains. If you do not specify zones, the ExternalDNS resource discovers all of the zones present in your cloud provider account.

zones:
- "myzoneid" (1)
1 Specifies the name of DNS zones.

domains

Enables you to specify AWS zones by their domains. If you do not specify domains, the ExternalDNS resource discovers all of 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 Ensures that the ExternalDNS resource includes the domain name.
2 Instructs ExtrnalDNS that the domain matching has to be exact as opposed to regular expression match.
3 Defines the name of the domain.
4 Sets the regex-domain-filter flag in the ExternalDNS resource. You can limit possible domains by using a Regex filter.
5 Defines the regex pattern to be used by the ExternalDNS resource to filter the domains of the target zones.

source

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 The ExternalDNS resource uses the Service type as the source for creating DNS records.
3 Sets the service-type-filter flag in the ExternalDNS resource. 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 The 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 Creates DNS records.
2 If the source type is OpenShiftRoute, then you can pass the Ingress Controller name. The ExternalDNS resource uses the canonical name of the Ingress Controller as the target for CNAME records.