Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✔️ AKS Automatic ✔️ AKS Standard
A resolução do DNS (Sistema de Nomes de Domínio) é um componente crítico no AKS (Serviço de Kubernetes do Azure), permitindo que pods e serviços se comuniquem usando nomes legíveis por humanos em vez de endereços IP. O AKS fornece serviços de DNS internos para garantir uma resolução de nomes ideal para recursos internos do cluster e pontos de extremidade externos. Entender como o DNS funciona no AKS ajuda os operadores e desenvolvedores de cluster a garantir conectividade confiável, otimizar o desempenho e solucionar problemas de rede com eficiência.
O AKS Automatic é o padrão pronto para produção recomendado para a maioria das cargas de trabalho do AKS. Os clusters automáticos do AKS vêm pré-configurados com o LocalDNS para melhorar o desempenho do DNS, reduzir a pressão de conntrack e aumentar a resiliência sem a necessidade de configuração extra.
No AKS Standard, o LocalDNS é opcional e você pode habilitá-lo e configurá-lo separadamente.
Para obter mais informações sobre o AKS Automatic, consulte o que é o AKS Automatic?
CoreDNS no Serviço de Kubernetes do Azure
CoreDNS é o serviço DNS padrão no AKS. Ele fornece resolução interna de nomes e descoberta de serviços para cargas de trabalho em execução no cluster. Ele opera como um conjunto de pods no namespace kube-system e é fortemente integrado ao sistema de rede do Kubernetes.
Quando um pod no AKS emite uma consulta DNS, como resolver o nome de outro serviço, a solicitação vai para os pods CoreDNS. Esses pods processam a consulta e retornam o endereço IP apropriado ou encaminham a solicitação para um servidor DNS upstream para domínios externos.
Essa arquitetura garante um equilíbrio entre flexibilidade e segurança operacional em um ambiente gerenciado. Para obter detalhes sobre como personalizar o CoreDNS no AKS, consulte o guia de personalização do CoreDNS.
Para obter informações sobre o projeto CoreDNS, confira a página de projeto upstream do CoreDNS.
LocalDNS no Serviço de Kubernetes do Azure
Observação
Este artigo fornece uma visão geral do que é o LocalDNS e seus benefícios no AKS.
Para o AKS Automatic, LocalDNS é pré-configurado.
Para o AKS Standard, consulte o guia de instruções do LocalDNS para obter diretrizes sobre como habilitar e configurar o LocalDNS.
Visão geral
LocalDNS é um recurso avançado no AKS (Serviço de Kubernetes do Azure) que implanta um proxy DNS (Sistema de Nomes de Domínio) em cada nó para fornecer resolução DNS altamente resiliente e de baixa latência. Ao lidar com consultas DNS localmente, esse proxy reduz o tráfego para os pods do add-on CoreDNS, melhorando a confiabilidade e o desempenho geral do DNS no cluster. O LocalDNS é especialmente benéfico em grandes clusters ou ambientes com grandes volumes de consulta DNS, em que a resolução DNS centralizada pode se tornar um gargalo.
Quando o LocalDNS está habilitado, o AKS implanta um cache DNS local como um serviço systemd em cada nó. Os pods no nó enviam as consultas DNS para esse cache local, o que possibilita uma resolução mais rápida e reduz os saltos de rede. Essa abordagem também minimiza o conntrack uso de tabelas, reduzindo o risco de exaurimento da tabela. Além disso, se o DNS upstream ficar indisponível, o LocalDNS poderá continuar atendendo respostas armazenadas em cache por uma duração configurável, ajudando a manter a conectividade do pod e a confiabilidade do serviço.
LocalDNS e AKS Automatic
O AKS Automatic configura automaticamente o LocalDNS como parte de suas configurações padrão prontas para produção. Você não precisa executar um comando de habilitação separado em clusters automáticos do AKS.
Use este artigo para entender como o LocalDNS funciona e por que ele melhora o comportamento de DNS para cargas de trabalho do AKS. Se você precisar de etapas de habilitação e configuração para o AKS Standard, use o guia de instruções do LocalDNS.
Principais capacidades
-
Latência de resolução de DNS reduzida: cada nó do AKS executa um serviço LocalDNS
systemd. As cargas de trabalho em execução no nó enviam consultas DNS para esse serviço, o que as resolve localmente, reduzindo os saltos de rede e acelerando as pesquisas de DNS. -
Comportamento de DNS personalizável: use
kubeDNSOverridesevnetDNSOverridespara controlar o comportamento de DNS no cluster. -
Evitar corridas de conntrack e esgotamento da tabela de conntrack: os pods enviam consultas DNS para o serviço LocalDNS no mesmo nó sem criar entradas de tabela
conntrack. Ao ignorar o monitoramento de conexão, é possível reduzir as corridas de conntrack e evitar que as entradas DNS do Protocolo UDP (User Datagram Protocol) preencham as tabelasconntrack. Essa otimização impede conexões descartadas e rejeitadas causadas pelo esgotamento da tabelaconntracke por condições de corrida. -
Conexão atualizada para TCP: a
localdnsconexão do cache com o serviço CoreDNS do cluster usa o Protocolo de Controle de Transmissão (TCP). O TCP permite o reequilíbrio de conexão e remove entradasconntrackde tabela quando o servidor fecha a conexão (ao contrário das conexões UDP, que têm um tempo limite padrão de 30 segundos). Os aplicativos não precisam de alterações, pois olocaldnsserviço ainda escuta o tráfego UDP. -
Armazenamento em cache: você pode configurar o plug-in de cache do LocalDNS com
serveStalee as configurações de tempo de vida (TTL). Defina os parâmetrosserveStale,serveStaleDurationInSecondsecacheDurationInSecondspara obter resiliência de DNS, mesmo durante uma interrupção do DNS de upstream. -
Controle de protocolo: defina o protocolo de consulta DNS (como
PreferUDPouForceTCP) para cada domínio. Essa flexibilidade permite otimizar o tráfego DNS para domínios específicos ou atender aos requisitos de rede.
Outros benefícios e considerações
| Benefícios | Considerações |
|---|---|
| Melhor escalabilidade: reduz a carga em pods CoreDNS centralizados | Sobrecarga mínima de recursos: usa uma pequena quantidade de CPU e memória em cada nó |
| Integração perfeita: não requer alterações nas conexões de aplicativo existentes | Alterações de configuração: as atualizações exigem atualizações de imagem de nó, o que pode causar interrupções temporárias |
| Bloquear domínios de pesquisa inválidos: impede consultas DNS inválidas no nível do nó. | Planejamento de disponibilidade: as equipes que usam o AKS Standard devem avaliar se o desempenho e a resiliência do DNS justificam a habilitação do LocalDNS |
Comportamento automático do AKS e do AKS Standard
| Modo de agrupamento | Comportamento de LocalDNS |
|---|---|
| AKS Automático | Pré-configurados |
| AKS Standard | Optional |
Usando o LocalDNS, você obtém uma resolução DNS mais rápida e confiável para suas cargas de trabalho, reduz o risco de interrupções relacionadas a DNS e obtém mais controle sobre o tráfego DNS em seu ambiente do AKS.
Conteúdo relacionado
- Para saber mais sobre o AKS Automatic, confira O que é AKS (Serviço de Kubernetes do Azure) Automático?
- Para saber como criar um cluster automático do AKS, consulte Início Rápido: Criar um cluster automático do AKS.
- Para saber como habilitar o LocalDNS e definir suas configurações no cluster do AKS, consulte o guia de instruções do LocalDNS.
- Para saber mais sobre os principais conceitos de rede, confira Conceitos de rede para aplicativos no AKS.