Skip to main content
LoadBalancer Services on CoreWeave can be assigned a DNS name in the .coreweave.app domain through the service.beta.kubernetes.io/external-hostname annotation. When the DNS name does not appear, the cause is almost always a missing annotation, a hostname conflict, or a mismatched long-form hostname. For the full setup procedure, see Create a public DNS name.

Check allocation status

The DNS allocation result is stored in the Service status conditions. Query the ExternalRecords condition to see the allocated FQDN. Replace [SERVICE-NAME] with the name of the affected Service:
A successful allocation shows the full FQDN. A failed allocation shows status: "False" with an error message. To view all allocation-related events:
Look for events with these reasons:

Common causes

  • Missing hostname annotation. The DNS name comes from the service.beta.kubernetes.io/external-hostname annotation. Without it, no record is created. A record is requested only when you set this annotation, and it works for both public and internal LoadBalancers. The service.beta.kubernetes.io/coreweave-load-balancer-type annotation controls whether the IP is public or internal, not whether a DNS name is created.
  • Hostname conflict. Each hostname must be unique within a cluster. Choose a different value or delete the conflicting Service.
  • Service type is not LoadBalancer. ClusterIP and NodePort Services do not receive a DNS name.
  • Long-form hostname mismatch. If you use the long format (my-service.[ORG-ID]-[CLUSTER-NAME].coreweave.app), the Org ID and cluster name must match exactly. Prefer the short format and let the system construct the FQDN.

When to contact support

Contact CoreWeave support if:
  • The ExternalRecords condition shows status: "False" with no clear error message.
  • DNS records are not resolving after a successful allocation.
  • You need a custom domain instead of the .coreweave.app domain.

Server Errors Administrator
Last modified on August 26, 2026