Setting up an Upstream DNS for external DNS resolution

By default, MAAS deployed machines will use MAAS for DNS resolution. This will allow machines to be able to resolve MAAS managed domains. That said, when users have other DNS servers in their networks, they can configure MAAS to use an upstream DNS server. This will allow machines to resolve MAAS managed domains via the MAAS DNS, and any other domain not managed by MAAS in the upstream DNS server.

To be able to use this, the only thing that’s needed is to configure the global setting for the upstream DNS. This setting is available in ‘Settings → Network Services → DNS’. An example can be seen in the screenshot bellow:

To change this setting, you can also use the CLI/API:

maas <user> maas set-config name=upstream_dns value=

Please also note that you can specify other DNS server on per subnet basis. Doing so, however will prefer the use of the external DNS which will yield into machines not being able to resolve domains that are managed by MAAS.

I’m finding it challenging to marry MAAS managed DNS zones to my Kubernetes dynamic zones. Corporate DNS updates get bogged down, and dynamic updates fail to propagate fast enough for applications to dynamically scale reliably.

Can I create a resolver record in MAAS for just a single zone? I want all DNS queries to resolve against the corporate name servers EXCEPT the single local zone that is being dynamically updated by an application. How do I do this? Editing bind configuration in maas directly is obviously not an option.