Ative o cache de DNS no nível do kernel para pods ECI e reduza a latência de DNS sem alterar o dnsConfig.
Pré-requisitos
Antes de começar, verifique se você atende aos seguintes requisitos:
Um cluster ACK Serverless criado.
O add-on de nó virtual do ACK na versão v2.10.0-rc.10 ou posterior instalado. Consulte Gerencie componentes do sistema.
Como o BlazingDNS funciona
Quando um pod em uma ECI envia uma consulta DNS, o BlazingDNS verifica o cache no nível do kernel antes de encaminhar a solicitação ao servidor DNS upstream. As respostas em cache retornam imediatamente.
Como o cache opera no nível do kernel, não é necessário alterar o dnsConfig nem as configurações do servidor DNS.
Após a instalação, o sistema armazena automaticamente em cache as solicitações de DNS das ECIs:
Limitações
O BlazingDNS está disponível apenas em clusters ACK Serverless e acelera a resolução de DNS exclusivamente para pods ECI. Outras limitações incluem:
Suporte apenas a consultas DNS para registros A, AAAA e CNAME.
Suporte restrito a consultas DNS baseadas em UDP.
Respostas DNS limitadas a 256 bytes.
A aceleração de cache de DNS aplica-se somente aos pods criados após a instalação do BlazingDNS. Os pods existentes não são afetados.
Instale o BlazingDNS
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, escolha Operations > Add-ons.
Na página Add-ons, clique na aba Networking. Localize o cartão BlazingDNS, clique em Install e siga as instruções na tela.
Após a instalação:
O sistema cria um ConfigMap chamado
blazing-dnsno namespacekube-system. Não modifique nem exclua esse ConfigMap.A aceleração de cache de DNS passa a valer automaticamente para novos pods em ECIs.
Verifique se o BlazingDNS está ativo
Confira a anotação k8s.aliyun.com/dns-cache-enable no pod. O valor true confirma que a aceleração de cache de DNS está ativa.
Atualizar o BlazingDNS
Na página Add-ons, clique na aba Networking. Localize o cartão BlazingDNS, clique em Upgrade e siga as instruções na tela.
Desinstalar o BlazingDNS
Antes de desinstalar o BlazingDNS, desative-o em todos os pods em execução.
Etapa 1: Identificar pods com o BlazingDNS ativado
Liste os pods com o BlazingDNS ativado:
kubectl get pod -o=jsonpath='{.items[?(@.metadata.annotations.k8s\.aliyun\.com/dns-cache-enable=="true")].metadata.name}' -A
Se o jq estiver instalado, imprima o namespace de cada pod:
kubectl get pod -o=jsonpath='{.items[?(@.metadata.annotations.k8s\.aliyun\.com/dns-cache-enable=="true")]}' | jq -rc ".metadata.namespace,.metadata.name"
Etapa 2: Desativar o BlazingDNS nos pods afetados
Caso os comandos acima retornem resultados, desative o BlazingDNS antes de prosseguir:
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, escolha Configurations > ConfigMaps.
Na página ConfigMap, selecione o namespace
kube-system. Na coluna Actions do ConfigMapblazing-dns, clique em Edit. Definaconfigcomoenabled: false.Exclua e recrie os pods afetados e execute novamente o comando da Etapa 1 até que nenhum pod seja retornado.
Etapa 3: Desinstalar o add-on
Na página Add-ons, clique na aba Networking. Localize o cartão BlazingDNS, clique em Uninstall e siga as instruções na tela.