# Setting up ExternalDNS for Dyn ## Creating a Dyn Configuration Secret For ExternalDNS to access the Dyn API, create a Kubernetes secret. To create the secret: ``` $ kubectl create secret generic external-dns \ --from-literal=EXTERNAL_DNS_DYN_CUSTOMER_NAME=${DYN_CUSTOMER_NAME} \ --from-literal=EXTERNAL_DNS_DYN_USERNAME=${DYN_USERNAME} \ --from-literal=EXTERNAL_DNS_DYN_PASSWORD=${DYN_PASSWORD} ``` The credentials are the same ones created during account registration. As best practise, you are advised to create an API-only user that is entitled to only the zones intended to be changed by ExternalDNS ## Deploy ExternalDNS The rest of this tutorial assumes you own `example.com` domain and your DNS provider is Dyn. Change `example.com` with a domain/zone that you really own. In case of the dyn provider, the flag `--zone-id-filter` is mandatory as it specifies which zones to scan for records. Without it Create a deployment file called `externaldns.yaml` with the following contents: ``` $ cat > externaldns.yaml <