O que é um serviço sem cabeça em Kubernetes?
Em Kubernetes, um serviço sem cabeça é criado sem o uso de um endereço IP de cluster. Em alguns casos, não precisamos de um único IP de serviço para o cluster, por isso usamos o serviço sem cabeça de Kubernetes. Nesta configuração sem cabeça, o serviço ainda pode ser usado para manter a identidade de rede e o DNS para uma coleção de vagens, mesmo quando não pode ser acessado através do cluster IP. Usamos principalmente a cabeça quando o acesso individual de pods era necessário sem o uso de um proxy. Não podemos usar um balanceador de carga aqui porque não podemos buscar endereços IP. Este serviço é frequentemente usado para aplicações com estado, como bancos de dados, onde é crucial ter uma identidade de rede consistente para cada iteração.
Pré-requisitos
O usuário deve ter a versão mais recente do Ubuntu instalada em seu sistema e entender qual comando é usado para iniciar todos os processos. O usuário deve estar familiarizado com Kubernetes, clusters, vagens e a linha de comando Kubectl, bem como os instalados no sistema. Para usuários do Windows, a caixa virtual ou o VMware fornece a facilidade de usar outro sistema operacional ao mesmo tempo. Para usuários do Windows, a caixa virtual deve ser instalada e o Ubuntu ou Linux devem estar executando com eficiência. Depois de instalar todos os pacotes como Kubernetes no aplicativo, instale um minikube no aplicativo e depois avançamos em direção à descrição do serviço sem cabeça, que dividimos em diferentes etapas com exemplos adequados para o seu entendimento. Então, dê uma olhada no seguinte:
Etapa 1: Crie um arquivo de configuração
No começo, criamos um arquivo de configuração no qual explicamos tudo sobre serviços sem cabeça em detalhes. Então, executamos o comando no cluster local Minikube para o arquivo de configuração:
> nano deplomani.YamlQuando o comando acima mencionado é executado, o arquivo de configuração é aberto com o nome “Deplomani.yaml ”. O arquivo de configuração do contêiner foi criado com sucesso, como podemos ver na captura de tela em anexo.
Etapa 2: Implante o arquivo de configuração em Kubernetes
Nesta etapa, aprenderemos a implantar o arquivo de configuração definido na etapa anterior em Kubernetes. Executamos o comando para implantação de arquivos da seguinte forma:
> Kubectl Crie -f Deplomani.YamlA implantação é criada após a execução deste comando. O contêiner, ou pod, é criado com sucesso aqui.
Etapa 3: Crie manifesto de serviço em Kubernetes
Nesta etapa, criamos um arquivo para iniciar um serviço regular em Kubernetes. Então, executamos o comando para criar um manifesto para o serviço regular, que é:
> Nano Regsev. YamlExecute o comando no terminal e pressione Enter. Quando o comando é executado, o “regsev.O arquivo yaml ”é criado com sucesso, conforme mostrado na captura de tela abaixo. Aqui, o tipo de vagem é o serviço, o nome da vagem é de serviço regular e as portas estão vinculadas aos endereços IP.
Etapa 4: Implantação do manifesto de serviço regular
Nesta etapa, implantamos o manifesto de serviço regular definido em Kubernetes. Então, executamos o comando aqui para esse fim:
> Kubectl Create -f Regsev.YamlO serviço é implantado e criado com sucesso após a execução do comando.
Etapa 5: Crie um manifesto de serviço sem cabeça
Nesta etapa, queremos criar um manifesto de serviço no qual definimos serviços sem cabeça. Então, executamos o comando para criar um arquivo YAML:
> nano headsv.YamlDigite o comando na linha de comando KUBECTL e pressione Enter. Quando criamos um manifesto para um serviço sem cabeça em Kubernetes, podemos especificar "nenhum" como o cluster IP ao definir o serviço no arquivo de manifesto.
Etapa 6: Implante de serviço sem cabeça
Esta etapa envolve a implantação deste arquivo YAML sem cabeça para Kubernetes. Então, executamos o comando aqui:
> Kubectl Criar -f Headsv. YamlApós a execução do comando, o serviço sem cabeça do sistema "Cabeça-SVC" é criado com sucesso. Este comando cria um serviço sem um IP de cluster, mas, no entanto, cria registros DNS para os pods que se encaixam no seletor para que possamos alcançá -los por seus nomes de DNS.
Etapa 7: Adicione cluster temporário em Kubernetes
Nesta etapa, executamos o comando para criar alguns clusters temporários definindo sua imagem no aplicativo.
> kubectl run temporário --Image = radial/BusyboxPlus: Curl -i --ttyQuando executamos o comando, a captura de tela anexada acima exibe clusters temporários que têm seus próprios espaços na aplicação de Kubernetes.
Etapa 8: Obtenha o servidor e o endereço IP do serviço sem cabeça
Nesta etapa, queremos ver o endereço do servidor e o endereço IP do serviço sem cabeça em Kubernetes. Executamos o comando que retorna um valor como um endereço e o serve do servidor DNS. A ferramenta de linha de comando de pesquisa é usada para consultar servidores DNS para obter informações.
> NSLOOKUP Cabeça sem cabeça-SVCEste comando nos deu um servidor e IP, e a pesquisa nos devolveu um nome de host de “SVC sem cabeça.”Se o nome do host não for resolvido, o DNS retornará uma mensagem de erro.
Etapa 9: Exclua todos os serviços em execução em Kubernetes
Nesta etapa, encerramos todos os serviços em execução porque esses serviços envolvem espaço e armazenamento em aplicativos Kubernetes. Em primeiro lugar, excluímos o serviço regular de Kubernetes executando o comando:
> Kubectl Exclua serviço regular de SVCQuando executamos este comando, o "serviço regular" é excluído com sucesso.
Agora, excluímos o serviço sem cabeça do cluster Kubernetes. Executamos o comando delete inserindo o nome do serviço sem cabeça "Headless-SVC" na ferramenta de linha de comando KUBECTL.
> Kubectl Exclua SVC sem cabeça-SVCEste comando encerra com sucesso o serviço sem cabeça do cluster Kubernetes.
A próxima etapa é a exclusão de implantações após o término de todos os serviços da Kubernetes Applications. Executamos o comando para excluir a implantação do aplicativo.
> aplicativo de implantação de exclusão kubectlComo resultado, a implantação do aplicativo pode ser facilmente excluída usando um comando.
Por fim, criamos uma vagem temporária na sessão acima. Aqui, também vemos a exclusão dessas vagens temporárias de Kubernetes. Executamos o comando para exclusão:
> Kubectl Exclua pod temporáriaOs serviços e vagens de Kubernetes foram excluídos com sucesso.
Conclusão
Os serviços sem cabeça são muito úteis para o manuseio de serviços em Kubernetes. Os serviços sem cabeça nos fornecem cluster sem IP. Também aprendemos como excluímos os serviços de corrida de Kubernetes quando não há necessidade desses serviços. Você também pode praticar esses exemplos em seu aplicativo.