# Setting up ExternalDNS for Infoblox This tutorial describes how to setup ExternalDNS for usage with Infoblox. Make sure to use **>=0.4.6** version of ExternalDNS for this tutorial. The only WAPI version that has been validated is **v2.3.1**. It is assumed that the API user has rights to create objects of the following types: `zone_auth`, `record:a`, `record:cname`, `record:txt`. This tutorial assumes you have substituted the correct values for the following environment variables: ``` export GRID_HOST=127.0.0.1 export WAPI_PORT=443 export WAPI_VERSION=2.3.1 export WAPI_USERNAME=admin export WAPI_PASSWORD=infoblox ``` ## Creating an Infoblox DNS zone The Infoblox provider for ExternalDNS will find suitable zones for domains it manages; it will not automatically create zones. Create an Infoblox DNS zone for "example.com": ``` $ curl -kl \ -X POST \ -d fqdn=example.com \ -u ${WAPI_USERNAME}:${WAPI_PASSWORD} \ https://${GRID_HOST}:${WAPI_PORT}/wapi/v${WAPI_VERSION}/zone_auth ``` Substitute a domain you own for "example.com" if desired. ## Creating an Infoblox Configuration Secret For ExternalDNS to access the Infoblox API, create a Kubernetes secret. To create the secret: ``` $ kubectl create secret generic external-dns \ --from-literal=EXTERNAL_DNS_INFOBLOX_WAPI_USERNAME=${WAPI_USERNAME} \ --from-literal=EXTERNAL_DNS_INFOBLOX_WAPI_PASSWORD=${WAPI_PASSWORD} ``` ## Deploy ExternalDNS Create a deployment file called `externaldns.yaml` with the following contents: ``` $ cat > externaldns.yaml <