node-local-dns-overrides ConfigMap. You manage the ConfigMap, and CoreWeave manages the DNS components that read it.
When to use this
Use DNS forwarding when Pods need to resolve names that the cluster’s default resolvers don’t know, for example:- A corporate domain such as
corp.example.comreachable over Direct Connect or a peered VPC. - An internal service domain hosted on resolvers in your own network.
The node-local-dns-overrides ConfigMap
CKS reads custom DNS configuration from a ConfigMap namednode-local-dns-overrides in the kube-system namespace. You add entries to its data field, and CoreDNS picks them up automatically.
The ConfigMap accepts two kinds of entries, distinguished by the suffix of the key:
.serverentries define a new CoreDNS server block (a zone). Use these to forward a specific domain to upstream resolvers..includeentries merge directives into the main zone. Most forwarding use cases need only a.serverentry.
- Every entry name must end in
.server(or.include). - An entry must not be named
placeholder.serverorplaceholder.include. Those names are reserved and are reconciled by the platform, so any custom content placed under them is silently reverted.
Forward a private domain to upstream resolvers
The following example forwardscorp.example.com to two upstream resolvers. Replace the domain and the resolver addresses with your own.
node-local-dns-overrides.yaml
[UPSTREAM-RESOLVER-1] and [UPSTREAM-RESOLVER-2] with the IP addresses of the resolvers that serve your private domain. List multiple upstreams on a single forward . line. To forward more than one domain, add another .server entry with a distinct key.
Apply or edit the ConfigMap:
node-local-dns logs as described in Read the node-local-dns logs.
Validate the forward rule
Test resolution from a Pod that uses cluster DNS (the defaultdnsPolicy: ClusterFirst):
SERVFAIL, the forward zone is being used but the upstream resolver is unreachable: confirm the resolver addresses are reachable from the cluster (over VPC, Direct Connect, or the appropriate route). If the name returns NXDOMAIN, the forward zone may not match the queried domain, so recheck the zone name in the ConfigMap.
hostNetwork Pods
A Pod withhostNetwork: true doesn’t use cluster DNS by default, so the override doesn’t apply to it. Set dnsPolicy: ClusterFirstWithHostNet so the Pod resolves cluster Services and your forwarded domains. See hostNetwork Pods use the wrong resolver.
What this is not
Keep the following limits in mind:- This is not a way to override cluster-internal resolution. Don’t forward
cluster.localorsvc.cluster.local. Those zones are served by the cluster, and overriding them breaks Service discovery. - This is not configured by editing CoreDNS or
node-local-dnsdirectly. Those components are managed by CoreWeave. Thenode-local-dns-overridesConfigMap is the supported customer interface. - The
placeholder.serverandplaceholder.includeentries are not examples to copy. They are reserved and reconciled by the platform.
When to open a ticket
Open a support ticket when:- A forward rule returns
SERVFAILand you have confirmed the upstream resolvers are reachable from the cluster. - You need to resolve a private domain whose resolvers are reachable only over a network path you haven’t yet established.
nslookup output. For related symptoms, see Troubleshoot DNS resolution from a Pod and Troubleshoot networking.
Administrator