Por que a resolução de DNS falha quando os pods CoreDNS são reiniciados?

Nuvem privada virtual Infraestrutura clássica

Às vezes, seu app falha ao resolver nomes de DNS para serviços de cluster aproximadamente no mesmo horário em que um ou mais pods do CoreDNS são reiniciados, como durante uma recarga ou atualização de correção do trabalhador.

A solicitação de DNS do seu app foi enviada para um pod do CoreDNS que estava em processo de finalização.

Para ajudar os pods CoreDNS a terminar sem interrupções, você pode editar o configmap coredns no namespace kube-system.

Na configuração de plug-in health do Corefile principal, inclua lameduck 10s. Para obter informações adicionais sobre a customização do CoreDNS, consulte Customizando o provedor DNS do cluster. A customização resultante se parece com o exemplo a seguir.

health {
    lameduck 10s
}