Este documento fornece orientações sobre a resolução de problemas com o Cloud DNS no Google Distributed Cloud (GDC) air-gapped. Abrange potenciais erros e problemas que pode encontrar ao realizar operações de gestão em configurações de DNS e fornece dicas e sugestões para depurar problemas com a resolução de DNS. O público-alvo deste documento são os administradores de plataformas e os operadores de aplicações responsáveis pela gestão de registos de DNS num projeto.
Resolva problemas de operações de gestão do Cloud DNS
Esta secção fornece informações de resolução de problemas para problemas comuns encontrados ao realizar operações de criação, leitura, atualização e eliminação (CRUD) em zonas e conjuntos de registos do Cloud DNS.
Resolução de problemas básica
- Certifique-se de que tem as funções de IAM corretas, conforme descrito em Prepare as autorizações de IAM.
- Se estiver a usar
gdcloud, pode atualizar o token de autenticação executando o comandogdcloud auth login.
Validação e nomenclatura de recursos (RFC 1123)
Problema: a criação ou a atualização falha com argumentos inválidos ou erros de validação.
Detalhes:
- Nomes de recursos: os nomes de zonas de DNS e conjuntos de registos têm de estar em conformidade com a RFC
- Têm de conter apenas carateres alfanuméricos em minúsculas ou
-e têm de começar e terminar com um caráter alfanumérico.
- Têm de conter apenas carateres alfanuméricos em minúsculas ou
- Nomes de DNS: os valores de nomes de domínios e nomes de domínios totalmente qualificados (FQDNs) têm de ser nomes de domínios válidos.
- Valores de enumeração: os valores como a visibilidade (
PUBLICouPRIVATE) e os tipos de registos (por exemplo,A,CNAME) são sensíveis a maiúsculas e minúsculas e têm de corresponder à string esperada exata.
Não é possível eliminar zonas não vazias
Problema: não é possível eliminar uma zona gerida; a operação é rejeitada.
Detalhes: uma zona de DNS gerida tem de estar vazia de conjuntos de registos de recursos antes de poder ser eliminada. Primeiro, tem de eliminar todos os registos na zona.
Conflitos de nomenclatura e domínio
Problema: falha ao criar um recurso com um erro a indicar que o nome ou o domínio já está a ser usado.
Detalhes:
- Nome do recurso do Kubernetes: o nome do objeto (por exemplo, o nome em
metadata.name) tem de ser exclusivo no espaço de nomes do projeto específico. - Nome de DNS (FQDN): o nome do domínio real (por exemplo,
dnsNamepara zonas ou registos) tem de ser exclusivo numa determinada visibilidade (PUBLIC ou PRIVATE). Não pode criar duas zonas ou dois registos com o mesmo nome de domínio no mesmo nível de visibilidade.
Resolva problemas de resolução de DNS
Esta secção ajuda os administradores de plataformas e os operadores de aplicações a resolver problemas de resolução de DNS ao aceder a serviços alojados no Google Distributed Cloud.
Aguarde pela propagação e limpe a cache de DNS
Quando os registos de DNS são criados ou atualizados, as alterações podem não ser visíveis instantaneamente. Normalmente, este atraso é causado por:
- Tempo de reconciliação: o sistema precisa de tempo para processar o pedido e atualizar a configuração do servidor DNS. Normalmente, este processo demora alguns minutos.
- Atraso na propagação de DNS (colocação em cache): os resolvedores de DNS e os clientes colocam registos em cache para acelerar as pesquisas. Os clientes podem continuar a usar o registo antigo até que o período de tempo de vida (TTL) tenha terminado.
Recomendações:
- Aguarde: aguarde tempo suficiente para a reconciliação e a expiração da cache.
- Limpe a cache: limpe a cache de DNS local para forçar uma nova pesquisa.
Valide a configuração do resolvedor local
Certifique-se de que o cliente está a usar os servidores DNS corretos. Se não souber o endereço IP correto, contacte a sua equipa de operações de infraestrutura (IO) para encontrar o IP do servidor DNS correto.
- Linux/macOS: verifique o conteúdo de
/etc/resolv.conf. - Windows: execute
ipconfig /alle verifique os servidores DNS apresentados.
Teste a resolução com ferramentas padrão
Use ferramentas de linha de comandos padrão para testar a resolução e identificar onde ocorre a falha.
Pesquisa básica:
dig <domain_name>ou
nslookup <domain_name>Consulte um servidor DNS específico: se souber o IP do servidor ManagedDNS público, consulte-o diretamente para ignorar os resolvedores locais:
dig @<public_dns_server_ip> <domain_name>Consulte um servidor de nomes público: para excluir problemas do resolvedor local, experimente consultar um resolvedor público, como o DNS da Google:
dig @8.8.8.8 <domain_name>
Analise os códigos de resposta de DNS
Quando usar o dig ou o nslookup, verifique o código de estado na resposta:
- NXDOMAIN: o nome do domínio não foi encontrado. Verifique se existem erros ortográficos ou valide se o registo existe.
- SERVFAIL: o servidor não conseguiu processar a consulta. Normalmente, isto indica um problema no lado do servidor ou uma falha de comunicação entre os servidores DNS.
- NOERROR: a consulta foi bem-sucedida, mas pode não haver respostas. Valide se o tipo de registo pedido (por exemplo, A, CNAME) existe.
- RECUSADO: o servidor recusou-se a responder à consulta, provavelmente devido a definições de política ou controlo de acesso.
Verifique a conetividade de rede
Certifique-se de que o tráfego de rede para o servidor DNS não está bloqueado.
- O DNS usa a porta 53 para UDP e TCP.
Teste a conetividade com o
nc(netcat):nc -zv <dns_server_ip> 53Valide se as regras de firewall permitem tráfego na porta 53.
Limpe a cache de DNS
A limpeza da cache de DNS remove todas as entradas da cache de DNS local. Isto força o sistema operativo a consultar novamente os servidores DNS para o nome do domínio, garantindo que recebe o registo mais atualizado em vez de um registo em cache desatualizado.
- Windows:
ipconfig /flushdns- O que faz: limpa a cache do resolvedor de DNS mantida pelo serviço Cliente DNS.
- macOS:
sudo killall -HUP mDNSResponder- O que faz: envia um sinal de desligamento (
HUP) para o processomDNSResponder, forçando-o a recarregar e limpar a respetiva cache.
- O que faz: envia um sinal de desligamento (
- Linux (systemd-resolved):
sudo systemd-resolve --flush-cachesousudo resolvectl flush-caches- O que faz: indica ao serviço
systemd-resolvedpara descartar a respetiva cache de DNS interna.
- O que faz: indica ao serviço
Verifique o estado do recurso com a API ou o gdcloud
Se for um inquilino ou tiver acesso à API do GDC, pode verificar o estado dos recursos diretamente:
Verifique uma zona de DNS:
kubectl describe manageddnszone <zone_name> -n <project_namespace>Verifique um conjunto de registos de recursos:
kubectl describe resourcerecordset <record_name> -n <project_namespace>Procure condições e eventos que possam indicar falhas no processo de reconciliação.
Se tiver acesso à linha de comandos gdcloud, pode usar o describe
subcomando, conforme documentado em
Liste registos de DNS
ou Liste zonas de DNS.