> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Why is my Service not getting a DNS name?

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](/products/networking/ingress-service/create-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:

```bash theme={"system"}
kubectl get svc [SERVICE-NAME] -o=jsonpath='{.status.conditions[?(@.type=="ExternalRecords")].message}'
```

A successful allocation shows the full FQDN. A failed allocation shows `status: "False"` with an error message.

To view all allocation-related events:

```bash theme={"system"}
kubectl describe svc [SERVICE-NAME]
```

Look for events with these reasons:

| Event reason       | Meaning                                                                              |
| ------------------ | ------------------------------------------------------------------------------------ |
| `DNSRecordUpdated` | DNS record created successfully.                                                     |
| `DomainNotAllowed` | The requested hostname is not allowed. The system appends the default domain suffix. |
| `HostnameConflict` | Another Service in the same cluster already uses this hostname.                      |

## 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](/support/contact) 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.

***

<Badge stroke shape="pill" color="blue" size="md">[Server Errors](/support/networking/tags/server-errors)</Badge><Badge stroke shape="pill" color="blue" size="md">[Administrator](/support/networking/tags/administrator)</Badge>
