Version: 0.7

DNS

It's a common requirement to expose Kubernetes services, either publicly or internally, using a public domain. Kore automatically installs and configures the ExternalDNS application in each managed Kubernetes cluster. ExternalDNS automatically creates DNS records in managed DNS zones when a domain is configured on Kubernetes Ingress objects.

With ExternalDNS, Kore can control DNS records dynamically via Kubernetes resources in a DNS provider-agnostic way. For more information, see the kubernetes-sigs/external-dns GitHub project.

As an administrator you don't need additional setup for ExternalDNS. You can register shared DNS zones and Kore will automatically create unique child DNS zones for all teams and clusters. This lets developers easily expose their applications on any domain registered in Kore. Teams can also create additional DNS zones to be used in their clusters.

This topic gives instructions for creating shared DNS zones in Kore.

Cloud support and DNS providers#

CloudDNS ProviderStatus
AWSAWS Route 53Supported
AzureAzureDNSSupported
GCPGoogle Cloud DNSComing soon

About shared DNS zones in Kore#

Only Kore administrators can create shared DNS zones.

The main purpose of shared DNS zones is convenience. Particularly in non-production environments, it can be beneficial to have readily available DNS zones to be used for application endpoints. Teams can still register one or more custom DNS zones for each of their clusters.

For each shared DNS zone, Kore automatically creates the following child DNS zone for each managed Kubernetes cluster:

cluster_name.team_name.shared_DNS_zone_name

Example

If you have:

  • A shared DNS zone: teams.mycompany.com
  • A team: myteam
  • A cluster in AWS: dev

Then:

  • Kore creates a DNS zone created in AWS Route 53 called dev.myteam.teams.mycompany.com.
  • ExternalDNS can automatically use this DNS zone to create subdomains with the required CNAME or A records.

Create a shared DNS zone#

To create a shared DNS zone in the Kore UI:

  1. In the Admin view, navigate to Configure > DNS, and then click the New button.

  2. Fill out the required fields:

    • Domain: The domain you want Kore to manage, for example, kore.mycompany.org
    • DNS provider: The provider in which the DNS zone for this domain will be created
    • Cloud account/project: An existing cloud account or project that has credentials with enough permissions to manage the selected DNS provider
  3. Click Save.

    On the DNS page, an Action required label appears next to the DNS zone you created.

    DNS Zone action required

  4. Click Action required and follow the instructions on how to complete the setup in your domain registrar or the authoritative DNS provider.

    DNS Zone instructions

Once the NS records have been set up, it typically takes 5-30 minutes to propagate through DNS (sometimes longer). Kore will continue checking for correct setup. You can wait on this page or return later to verify this has completed.