Implantar e usar DNS externos para Kubernetes

Implantar e usar DNS externos para Kubernetes

Neste artigo, aprenderemos a configurar um DNS externo em um cluster de Kubernetes. O cluster possui um controlador para Kubernetes que é implementado como o DNS externo. Com numerosos provedores de serviços DNS, incluindo Cloudflare, Google Cloud DNS e muitos outros, o DNS externo pode ser usado. Ao implantar em um cluster de Kubernetes e usando este DNS externo, podemos otimizar rapidamente o processo de gerenciamento dos registros DNS para nosso aplicativo. Usando os comandos necessários, instalaremos o DNS externo em nosso cluster. Vamos explicar este tópico com a ajuda de exemplos e capturas de tela.

O que é DNS externo em Kubernetes?

Em Kubernetes, o DNS externo é essencialmente uma ferramenta que nos permite gerenciar os registros DNS para aplicativos Kubernetes, e está instalada em Kubernetes. O DNS externo é um servidor de nomes de domínio de terceiros que pode ser acessado e atualizado por qualquer pessoa com uma conexão com a Internet.

Pré -requisitos:

Seu sistema está executando a versão mais recente do Ubuntu. O usuário do Windows também pode executar facilmente o sistema operacional Ubuntu em paralelo com a ajuda de uma máquina virtual. O usuário também garante que a ferramenta de linha de comando kubectl esteja funcionando perfeitamente e possui algum conhecimento de pods e contêineres. Aqui, dividimos a explicação do processo DNS externo em diferentes partes ou etapas. Vamos começar o processo desde o início.

Etapa 1: Inicie o painel de controle Kubernetes

No começo, executamos o cluster no sistema. Para iniciar o cluster em uma máquina local, executamos o seguinte comando:

kalsoom@kalsoom-virtualbox> Minikube Iniciar

Quando o comando é executado, um recipiente de minikube é iniciado em nosso sistema. O contêiner Minikube é o cluster de Kubernetes nos quais realizamos diferentes operações.

Etapa 2: Crie um arquivo de configuração em Kubernetes

Nesta etapa, definimos nossos requisitos para instalar um servidor DNS externo no sistema, criando um arquivo YAML no cluster Kubernetes. Executamos o seguinte comando para criar um arquivo:

kalsoom@kalsoom-virtualbox> nano dns.Yaml

Quando executamos este comando, o sistema abre um DNS.Arquivo YAML que contém o nome da vagem e o tipo deste pod que é uma conta de serviço. Todas as especificações para este contêiner podem ser encontradas na captura de tela a seguir. Leia as regras relacionadas ao DNS externo cuidadosamente.

E agora, criamos um arquivo de configuração novamente para uma vagem cujo tipo é a ligação de função de cluster. O nome deste pod é externo-dns-viewer. Leia as informações neste pod conforme anexado no seguinte:

Também criamos um arquivo para uma etiqueta DNS externa em Kubernetes. Além disso, leia cuidadosamente as especificações do POD, conforme mostrado na captura de tela a seguir:

Etapa 3: Implante este arquivo de configuração em Kubernetes

Nesta etapa, implantamos esses arquivos de configuração em nosso cluster Kubernetes. Instalamos o controlador DNS externo em nosso cluster executando o manifesto. O comando é o seguinte:

kalsoom@kalsoom -virtualbox> kubectl Crie -f DNS.Yaml

Quando executamos este comando, podemos ver que, na conta de serviço, todos os recursos são criados com sucesso em nosso cluster.

Etapa 4: Alistar as vagens em Kubernetes

Nesta etapa, obtemos a lista de todos os pods em execução no cluster Kubernetes. Veremos como a verificação do POD DNS externo vai. Executamos o seguinte comando na ferramenta de linha de comando kubectl:

kalsoom@kalsoom-virtualbox> kubectl get

A saída deste comando está anexada na captura de tela fornecida. O comando mostra os detalhes de vagens como nome, pronto, status, reinicializa e idade.

Etapa 5: busque o registro de uma vagem específica em Kubernetes

Nesta etapa, obtemos o registro da cápsula do DNS externo cujo nome é "Externo-DNS-5957CC64C47-BW3BH".

kalsoom@kalsoom-virtualbox> kubectl logs external-dns-5957cc64c47-bw3bh

Ao executar este comando, veremos os logs ou erros que ocorreram durante a instalação.

Etapa 6: Crie um arquivo de configuração no cluster Kubernetes

Nesta etapa, criamos um arquivo de configuração. Nós executamos o seguinte comando:

kalsoom@kalsoom-virtualbox> nano sam. Yaml

Após a execução do comando, o arquivo de configuração é aberto, conforme mostrado no seguinte anexo. Este arquivo contém uma variedade de informações, incluindo os metadados e muitas outras coisas.

Etapa 7: Implante o DNS externo em Kubernetes

Nesta etapa, implantamos o arquivo de configuração para DNS externo em Kubernetes. Nós executamos o seguinte comando:

kalsoom@kalsoom -virtualbox> kubectl Aplicar -f sam. Yaml

Ao executar o comando, o MyWebApp POD é implantado com sucesso.

Etapa 8: Crie um arquivo de configuração de serviço em Kubernetes

Nesta etapa, criamos um arquivo de configuração de serviço no cluster. Nós executamos o seguinte comando:

kalsoom@kalsoom-virtualbox> serviço nano.Yaml

Após a execução do comando, o “serviço.O arquivo yaml ”está aberto no cluster Kubernetes. Este arquivo contém tipo, metadados e seletor, onde o nome do serviço é nginx. A captura de tela do arquivo está anexada no seguinte:

Etapa 9: Implante um arquivo de serviço em Kubernetes

Nesta etapa, implantamos o arquivo de configuração do serviço em Kubernetes. Nós executamos o seguinte comando:

kalsoom@kalsoom -virtualbox> kubectl Aplicar -f Serviço.Yaml

Quando o comando é executado, a cápsula de serviço chamada "Mywebapp" é implantada em Kubernetes.

Etapa 10: Alistar as implantações de corrida em Kubernetes

Nesta etapa, buscamos a lista de implantações em Kubernetes. Executamos o seguinte comando no terminal Kubectl:

kalsoom@kalsoom-virtualbox> kubectl Get Implements

O POD externo-DNS aparece após a execução do comando, como mostrado na captura de tela fornecida.

Etapa 11: Obtenha os serviços em Kubernetes

Nesta etapa, temos a lista de serviços que implantamos recentemente em Kubernetes. Nós executamos o seguinte comando:

kalsoom@kalsoom-virtualbox> kubectl get Services

Quando o comando é executado, uma lista de serviços em execução aparece. Aqui, podemos ver que uma vagem de serviço foi exibida recentemente em uma lista como MyWebApp. Também podemos ver o status deste serviço que é 80: 30589/TCP. O status deste serviço está "pendente". Muitas outras coisas são mencionadas com este comando.

Conclusão

Concluímos que poderíamos usar o servidor DNS facilmente na internet usando o cápsulas DNS externas. Felizmente, todos vocês entendem como podemos configurar e usar o DNS externo em nosso aplicativo Kubernetes. As capturas de tela que anexamos são apenas para o seu entendimento. Você pode facilmente testar todos esses comandos em seu aplicativo Kubernetes.