Skip to main content
Skip table of contents

Configure External DNS with the CLI: Management or Essential Cluster

This page contains information on how to configure an external-dns service to manage DNS records automatically in your Management or Essential Cluster.

Prerequisite

  • Ensure you have configured a DNS zone with your cloud provider.

Configure External DNS and Customize Traefik

The configuration varies depending on your cloud provider.

  1. Open the kommander.yaml file:

    1. If you have not installed the Kommander component yet, initialize the configuration file, so you can edit it in the following steps.
      (warning) WARNING: Initialize this file only ONCE, otherwise you will overwrite previous customizations.

    2. If you have installed the Kommander component already, open the existing kommander.yaml with the editor of your choice.

  2. Adjust the app section of your kommander.yaml file to include these values:

AWS Example

(info) Replace the placeholders <...> with your environment's information.
(info) The following example shows how to configure external-dns to manage DNS records in AWS Route 53 automatically.

CODE
apps:
  external-dns:
    enabled: true
    values: |
      aws:
        credentials:
          secretKey: <secret-key>
          accessKey: <access-key>
        region: <provider-region>
        preferCNAME: true
      policy: upsert-only
      txtPrefix: local-
      domainFilters:
        - <example.com>
Azure Example

(info) Replace the placeholders <...> with your environment's information.

CODE
apps:
  external-dns:
    enabled: true
    values: |
      azure:
        cloud: AzurePublicCloud
        resourceGroup: <resource-group>
        tenantId: <tenant-id>
        subscriptionId: <your-subscription-id>
        aadClientId: <client-id>
        aadClientSecret: <client-secret>
      domainFilters:
        - <example.com>
      txtPrefix: txt-
      policy: sync
      provider: azure

3. In the same app section, adjust the traefik section to include the following:

CODE
traefik:
    enabled: true
    values: |
      service:
        annotations:
          external-dns.alpha.kubernetes.io/hostname: <mycluster.example.com>

4. Use the configuration file to install or update the Kommander component:

CODE
dkp install kommander --installer-config kommander.yaml --kubeconfig=${CLUSTER_NAME}.conf

Refer to the external-dns documentation for more information, as well as further instructions on how to configure external-dns to use other DNS providers like Google Cloud DNS, CloudFlare, or on-site providers.

Next Step:

Verify your External DNS Configuration

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.