ExternalDNS

The source code and default configuration of the Building Block is available in our GitLab.

Adding the Building Block

Add the directory syseleven-external-dns to your control repository. Add a .gitlab-ci.yml to the directory with the following content:

include:
  - project: syseleven/building-blocks/helmfiles/external-dns
    file: JobDevelopment.yaml
    ref: 3.1.0
  - project: syseleven/building-blocks/helmfiles/external-dns
    file: JobStaging.yaml
    ref: 3.1.0
  - project: syseleven/building-blocks/helmfiles/external-dns
    file: JobProduction.yaml
    ref: 3.1.0

Remove environments you are not using by removing their include.

Known Issues

  • When using designate as DNS provider, e.g. with SysEleven DNSaaS, cert-manager will not correctly sync records when there is a external-dns.alpha.kubernetes.io/ttl annotation. The record will get created in one run and be deleted in the next run. See the Github issue for more information.

Required configuration

No confguration is required.

Monitoring

Additional alertrules

  • None

Additional Grafana dashboards

  • None

Scaling Setup

  • Usually it is not needed to scale replicas unless you have an exessive amount of ingress/service creation requests
  • Requests/limits for CPU/memory can be adjusted