Usando o CoreDNS para Descoberta de Serviços
Essa página descreve o processo de atualização do CoreDNS e como instalar o CoreDNS ao invés de kube-dns.
Antes de você começar
Você precisa ter um cluster do Kubernetes e a ferramenta de linha de comando kubectl deve estar configurada para se comunicar com seu cluster. É recomendado executar esse tutorial em um cluster com pelo menos dois nós que não estejam atuando como hosts de camada de gerenciamento. Se você ainda não possui um cluster, pode criar um usando o minikube ou pode usar um dos seguintes ambientes:
O seu servidor Kubernetes deve estar numa versão igual ou superior a v1.9. Para verificar a versão, digitekubectl version
.
Sobre o CoreDNS
CoreDNS é um servidor DNS flexível e extensível que pode servir como Kubernetes cluster DNS. Como o Kubernetes, o projeto CoreDNS é hospedado pelo CNCF.
Você pode usar o CoreDNS ao invés de kube-dns no seu cluster substituindo por kube-dns em uma implantação existente, ou usando ferramentas como kubeadm que fará a instalação e a atualização do cluster pra você.
Instalando o CoreDNS
Para instalação manual, ou substituição do kube-dns, veja a documentação no site do CoreDNS.
Migrando para CoreDNS
Atualizando um cluster existente com kubeadm
No Kubernetes versão 1.21, kubeadm removeu o suporte para kube-dns
como uma aplicação DNS.
Para kubeadm
v1.31, o único Cluster DNS suportado é o CoreDNS.
Você pode migrar para o CoreDNS quando usar o kubeadm
para atualizar o cluster que está usando
kube-dns
. Neste caso, kubeadm
gera a configuração do CoreDNS
("Corefile") baseado no ConfigMap kube-dns
, preservando a configuração para
stub domains e upstream name server.
Atualizando CoreDNS
Você pode verificar a versão do CoreDNS que o kubeadm instala para cada versão do Kubernetes na página versão do CoreDNS no Kubernetes.
CoreDNS pode ser atualizado manualmente, caso você queria atualizar somente o CoreDNS ou usar sua própria imagem customizada. Há uma página de instruções e passo-a-passo disponível para garantir uma atualização sem problemas. Certifique-se que a configuração existente do CoreDNS ("Corefile") é mantida quando atualizar o seu cluster.
Se você está atualizando o seu cluster usando a ferramenta kubeadm
, o kubeadm
pode cuidar da retenção da configuração existente do CoreDNS automaticamente.
Ajustando o CoreDNS
Quando a utilização dos recursos é uma preocupação, pode ser útil ajustar a configuração do CoreDNS. Para mais detalhes, confira documentação para escalonar o CoreDNS.
Próximos passos
Você pode configurar o CoreDNS para suportar mais casos de uso do que o
kube-dns suporta modificando a configuração do CoreDNS ("Corefile").
Para mais informações, veja a documentação
do plugin kubernetes
do CoreDNS, ou leia o artigo
Custom DNS Entries For Kubernetes (em inglês) no blog do CoreDNS.