Troubleshooting the Installation
Start with the External DNS logs, where most problems show up:
kubectl -n tetrate-gslb-system logs deploy/tetrate-gslb-external-dns-local -c external-dns
| Symptom | Cause and fix |
|---|---|
InvalidCharacterString (Value should be enclosed in quotation marks) | dnsProvider isn't set to aws. Every DNS write is being rejected. |
| Records appear in the wrong region's zone | zoneIdFilters missing or wrong. Set it on both instances in every cluster. |
AccessDenied on ChangeResourceRecordSets | The IAM policy doesn't cover that zone, or IRSA isn't active — check AWS_ROLE_ARN on the pod as in Step 3. |
Throttling: Rate exceeded | Route53 allows ~5 writes/second per account across all clusters. Raise reconcileRequeueSeconds and the two *TXTRecordHealthyDurationSeconds values. |
| Lookups return NXDOMAIN inside a cluster | The cluster's VPC isn't associated with the hosted zone, or the VPC has DNS support disabled. Recheck Step 1. |
| A gateway never appears in DNS | Check its Service has a load balancer hostname, that the hostname resolves from inside the cluster, and that the Service has ready endpoints. |
Pods crash with exec format error | The images are arm64 but the nodes are amd64. Refer to the Acquire Images process. |
The general troubleshooting steps in Troubleshooting apply too.