Enabling RFC2136 for ExternalDNS

September 1, 2025 ยท View on GitHub

In order to enable the provider RFC2136 on ExternalDNS, the following rfc2136.* parameters should be changed in the values.yaml of the K8GB helm chart:

  • One authentication method should be enabled on the values:

    • Insecure
      • This method doesn't use any authentication and anonymous updates to the DNS records can be executed
    • TSIG
      • This method uses TSIG authentication that relies on a token provided for the DNS records update.
    • GSS-TSIG
      • This method uses GSS-TSIG authentication, which is a variation of the TSIG method, but uses Kerberos for the generation of tokens for authentication and authorization
      • Method used by Active Directory Windows DNS
  • GSS-TSIG

    • kerberos-username
      • this key should have the value of a Active Directory user account that has permissions for DNS updates
    • kerberos-password
      • password of the user account that will be used. Be aware that this isn't encrypted and so far ExternalDNS doesn't support adding a Secret reference for this value, so it will be stored in clear text
    • kerberos-realm
      • domain that will be used for authentication of the user

Sample for GSS-TSIG authentication

extdns:
  enabled: true
  fullnameOverride: "k8gb-external-dns"
  provider:
    name: rfc2136
  txtPrefix: "k8gb-<geotag>-"
  txtOwnerId: "k8gb-<loadBalancedZone>-<geotag>"
  domainFilters:
    - "<parentZone>"
  dnsPolicy: ClusterFirst
  env:
  - name: EXTERNAL_DNS_RFC2136_TSIG_SECRET
    valueFrom:
      secretKeyRef:
        name: rfc2136
        key: secret
  extraArgs:
    rfc2136-host: yourAcDc.k8gb.local
    rfc2136-port: 53
    rfc2136-gss-tsig:
    rfc2136-kerberos-username: someServiceAccount
    rfc2136-kerberos-password: insecurePlainTextPassword
    rfc2136-kerberos-realm: yourKerberosRealm.domain