Questa pagina mostra come risolvere i problemi relativi ai provider DNS in di Google Kubernetes Engine (GKE).
Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.Eventi Cloud DNS per GKE
Questa sezione descrive i problemi comuni di Cloud DNS in GKE.
Cloud DNS disabilitato
Il seguente evento si verifica quando l'API Cloud DNS è disabilitata:
Warning FailedPrecondition service/default-http-backend
Failed to send requests to Cloud DNS: Cloud DNS API Disabled. Please enable the Cloud DNS API in your project PROJECT_NAME: Cloud DNS API has not been used in project PROJECT_NUMBER before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/dns.googleapis.com/overview?project=PROJECT_NUMBER then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Questo errore si verifica perché l'API Cloud DNS non è abilitata per impostazione predefinita. Devi abilitare manualmente l'API Cloud DNS.
Per risolvere il problema: abilitare l'API Cloud DNS.
Impossibile inviare richieste a Cloud DNS: limite di frequenza API superato.
Il seguente evento si verifica quando un progetto ha superato una quota o un limite di Cloud DNS:
kube-system 27s Warning InsufficientQuota
managedzone/gke-cluster-quota-ee1bd2ca-dns Failed to send requests to Cloud DNS: API rate limit exceeded. Contact Google Cloud support team to request a quota increase for your project PROJECT_NAME: Quota exceeded for quota metric 'Write requests' and limit 'Write limit for a minute for a region' of service 'dns.googleapis.com' for consumer 'project_number:PROJECT_NUMBER.
Per risolvere il problema, consulta le quote di Cloud DNS e le quote e i limiti di Compute Engine. Puoi aumentare la quota utilizzando la console Google Cloud.
Impossibile inviare le richieste a Cloud DNS a causa di un errore precedente
Quando gli errori causano errori a cascata, si verifica il seguente evento:
kube-system 27s Warning InsufficientQuota
managedzone/gke-cluster-quota-ee1bd2ca-dns Failed to send requests to Cloud DNS: API rate limit exceeded. Contact Google Cloud support team to request a quota increase for your project PROJECT_NAME: Quota exceeded for quota metric 'Write requests' and limit 'Write limit for a minute for a region' of service 'dns.googleapis.com' for consumer 'project_number:PROJECT_NUMBER.
kube-system 27s Warning FailedPrecondition service/default-http-backend Failed to send requests to Cloud DNS due to a previous error. Please check the cluster events.
Per risolvere il problema, controlla gli eventi del cluster per trovare la fonte dell'errore originale e segui le istruzioni per risolvere il problema principale.
Nell'esempio precedente, l'errore InsufficientQuota
per la zona gestita
ha provocato errori a cascata. Il secondo errore per FailedPrecondition
indica che si è verificato un errore precedente, ovvero il problema iniziale della quota insufficiente. Per risolvere questo problema di esempio, segui le indicazioni per l'errore di quota Cloud DNS.
Impossibile associare il criterio di risposta
Il seguente evento si verifica quando un criterio di risposta è associato alla rete del cluster e Cloud DNS per GKE tenta di associare un criterio di risposta alla rete:
kube-system 9s Warning FailedPrecondition responsepolicy/gke-2949673445-rp
Failed to bind response policy gke-2949673445-rp to test. Please verify that another Response Policy is not already associated with the network: Network 'https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/networks/NETWORK_NAME' cannot be bound to this response policy because it is already bound to another response policy.
kube-system 9s Warning FailedPrecondition service/kube-dns
Failed to send requests to Cloud DNS due to a previous error. Please check the cluster events.
Per risolvere il problema, svolgi i seguenti passaggi:
Fai in modo che il criterio di risposta sia associato alla rete:
gcloud dns response-policies list --filter='networks.networkUrl: NETWORK_URL'
Sostituisci
NETWORK_URL
con l'URL della rete dall'errore, ad esempiohttps://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME
.Se l'output è vuoto, il criterio di risposta potrebbe non trovarsi nello stesso progetto. Vai al passaggio successivo per cercare il criterio di risposta.
Se l'output è simile al seguente, vai al passaggio 4 per eliminare criterio di risposta.
[ { "description": "Response Policy for GKE cluster \"CLUSTER_NAME\" with cluster suffix \"cluster.local.\" in project \"PROJECT_ID\" with scope \"CLUSTER_SCOPE\".", ... "kind": "dns#responsePolicy", "responsePolicyName": "gke-CLUSTER_NAME-POLICY_ID-rp" } ]
Ottieni un elenco di progetti con
dns.networks.bindDNSResponsePolicy
l'autorizzazione utilizzando Analizzatore criteri IAM.Verifica se ogni progetto ha il criterio di risposta associato alla rete:
gcloud dns response-policies list --filter='networks.networkUrl:NETWORK_URL' \ --project=PROJECT_NAME
Configurazione non valida specificata in kube-dns
Il seguente evento si verifica quando applichi un ConfigMap kube-dns personalizzato che non è valido per Cloud DNS per GKE:
kube-system 49s Warning FailedValidation configmap/kube-dns
Invalid configuration specified in kube-dns: error parsing stubDomains for ConfigMap kube-dns: dnsServer [8.8.8.256] validation: IP address "8.8.8.256" invalid
Per risolvere il problema, esamina i dettagli dell'errore per la parte non valida di
il ConfigMap. Nell'esempio precedente, 8.8.8.256
non è un indirizzo IP valido.
Passaggi successivi
Per informazioni generali sulla diagnosi dei problemi DNS di Kubernetes, consulta Debug della risoluzione DNS.
Per contribuire a diagnosticare i problemi di Cloud DNS, puoi attivare il logging di Cloud DNS e consultare la documentazione sulla risoluzione dei problemi di Cloud DNS.
- Se hai bisogno di ulteriore assistenza, contatta Assistenza clienti Google Cloud.