Para melhorar a estabilidade da resolução de DNS em clusters do Container Service for Kubernetes (ACK), recomendamos atualizar o CoreDNS para a versão mais recente. Este tópico descreve como atualizar o CoreDNS.
Informações básicas
As versões do CoreDNS anteriores à 1.7.0 apresentam os seguintes problemas, que podem afetar a estabilidade da resolução de DNS em clusters ACK:
Se ocorrerem problemas de conectividade entre o CoreDNS e o servidor de API, como instabilidade de rede, reinicializações ou migrações do servidor de API, os pods do CoreDNS poderão ser reiniciados devido à impossibilidade de gravar logs de erro. Para obter mais informações, consulte Set klog's logtostderr flag.
O CoreDNS consome recursos adicionais de memória durante a inicialização. Nesse cenário, o limite padrão de memória pode causar erros de falta de memória (OOM) em clusters de grande escala. Caso essa situação se agrave, os pods do CoreDNS podem entrar em um ciclo de reinicializações repetidas sem conseguir iniciar com sucesso. Para obter mais informações, consulte CoreDNS uses a lot memory during initialization phase.
Falhas no CoreDNS podem comprometer a resolução de nomes de domínio para Services headless e requisições externas ao cluster. Para obter mais informações, consulte plugin/kubernetes: handle tombstones in default processor e Data is not synced when CoreDNS reconnects to kubernetes api server after protracted disconnection.
Algumas versões mais antigas do CoreDNS possuem regras de tolerância padrão que impedem a evicção automática dos pods quando ocorrem exceções no host, resultando em erros de resolução de nomes de domínio no cluster.
Para detalhes sobre o procedimento de atualização e seus impactos, consulte Método de atualização.
Método de atualização
Antes de atualizar o CoreDNS, leia as Notas de versão do CoreDNS e o Changelog da comunidade CoreDNS para conhecer os detalhes e observações importantes sobre a atualização.
Atualize o CoreDNS de forma automática ou manual:
Atualização automática do CoreDNS: Acesse a página Add-ons no console do ACK. Se o botão Upgrade estiver visível ao lado do componente CoreDNS, a atualização automática está disponível. Para obter mais informações, consulte Automatic upgrade for unmanaged CoreDNS.
Atualização manual do CoreDNS: Acesse a página Add-ons no console do ACK. A ausência do botão Upgrade ao lado do componente CoreDNS indica que a versão atual está obsoleta. Isso também sinaliza que a versão do Kubernetes do seu cluster está desatualizada e fora de suporte, impedindo a atualização direta do CoreDNS para a versão mais recente. Para resolver essa questão, atualize primeiro o CoreDNS para a versão 1.6.2 e, em seguida, atualize a versão do Kubernetes do cluster. Após isso, atualize automaticamente o CoreDNS para a versão mais recente. Para saber como proceder com a atualização manual, consulte Manually update unmanaged CoreDNS.