Setup Nebari domain registry
What is a DNS?
The Domain Name System (DNS) turns domain names into IP addresses, which browsers use to load internet pages. Every device connected to the internet has its IP address, which other devices use to locate the device. DNS name servers are used to locate the IP address of a domain name using words or instead of direct IP addresses.
Setting up a DNS
During deployment, Qhub will generate an Ingress IP for connection with the Kubernetes cluster and all related services that Qhub runs. If not automatically handled, Qhub will request the user to generate the necessary DNS records and update the domain within the newly created IP:
Take IP Address 12.312.312.312 and update DNS to point to "your.domain" [Press Enter when Complete]
Once the IP is generated, you will need to grab it and create the necessary records within the DNS provider of your choice.
Cloudflare
QHub supports Cloudflare as a DNS provider. If you choose to use Cloudflare, first create an account, then there are two possible following options:
You can register your application domain name on it, using the Cloudflare nameserver (recommended).
You can purchase a new domain with Cloudflare.
To generate a token follow the steps below. For additional information, see the CloudFlare docs.
Setting up an API token on CloudFlare
Under Profile, select the API Tokens menu and click on Create API Token.
On Edit zone DNS click on Use Template..
Configure Permissions such as the image below:
On Account Resources set the configuration to include your desired account.
On Zone Resources set it to Include | Specific zone and your domain name.
Click continue to summary.
Click on the Create Token button and set the token generated as an environment variable on your machine.
Setup API token locally
Finally, set the token value as an environment variable:
export CLOUDFLARE_TOKEN="cloudflaretokenvalue"
Also, add the flag --dns-provider=cloudflare
to the Qhub deploy command.
Using other DNS providers
Currently, QHub only supports CloudFlare for [automatic DNS registration](link to automatic section below). If an alternate DNS provider is desired, change the --dns-provider
flag from cloudflare
to none
on the qhub deploy command.
Below are the links to detailed documentation on how to create and manage DNS records on a few providers:
- Cloud DNS provider
- Amazon Route 53 DNS provider
- Azure DNS provider
- Digital Ocean DNS provider
note
Once your new DNS domain is created, it might take time for the records and related certificates to fully propagate. The amount of time this takes varies for each DNS provider. Validate such information in the related documentation for your chosen provider.
Automatic DNS provision
Qhub has an extra flag for deployments that grants management and the creation of the DNS records for you automatically. For automatic DNS provision add --dns-auto-provision
to your qhub deploy command:
qhub deploy -c qhub-config.yaml \
--dns-provider cloudflare \
--dns-auto-provision
This will set the DNS provider as Cloudflare and automatically handle the creation or updates to the Qhub domain DNS records on Cloudflare.
warning
The usage of --dns-auto-provision
is restricted to Cloudflare as it is the only fully integrated DNS provider that Qhub currently supports.
When you are done setting up the domain name, you can refer back to the Nebari deployment documentation and continue the remaining steps.