Quais são os diferentes tipos de serviços em Kubernetes?

Quais são os diferentes tipos de serviços em Kubernetes?
Um serviço em Kubernetes é uma abstração que descreve uma coleção de vagens conceituais nas quais um aplicativo é executado e uma política de acesso para esses tipos de pods. Se uma vagem precisar se conectar com algum outro pod, ele deve primeiro determinar seu endereço IP. Os serviços Kubernetes também fornecem uma maneira de encontrar certos pods. Os endereços IP da POD são abstratos no modelo de rede Kubernetes; Se uma vagem quebrar ou for destruída, uma nova vagem quase certamente obterá um novo endereço IP. Um serviço em Kubernetes geralmente concede acesso à rede a uma vagem ou grupo de pods. Os serviços escolherão os pods, dependendo de seus nomes e, quando a demanda de rede for enviada a esses serviços, ele identificará todos os pods no cluster que se encaixam no rótulo do serviço, escolha um deles e depois enviou a solicitação de rede para ele.

Categorias de serviços Kubernetes

Os serviços de Kubernetes são divididos em quatro categorias básicas:

Clusterip
Em Kubernetes, o serviço de clusterip é de fato a forma padrão de serviço. Ele fornece um serviço no cluster Kubernetes que outros aplicativos Kubernetes podem gerenciar sem fornecer acesso de fora. É um endereço IP que o cluster Kubernetes e todos os seus serviços podem usar internamente. Ao contrário do endereço IP do pod, o endereço IP utilizado no clusterip não é acessível além do cluster.

NodEport
Cada nó em seu cluster tem uma porta aberta chamada Nodeport. Mesmo que o seu aplicativo seja executado em um nó diferente, o Kubernetes direciona diretamente o tráfego do Nodeport para o Serviço. Todo cluster de Kubernetes aceita NodEport, mas você precisa modificar seus firewalls se estiver usando um provedor de serviços em nuvem como o Google Cloud.

Balanceador de carga
Um LoadBalancer é uma maneira popular de introduzir um serviço de Kubernetes ao mundo exterior através da Internet. LoadBalancer pode ser usado de maneira semelhante ao clusterip e nodeport.O cluster se aproximará do provedor de nuvem e construirá um balanceador de carga se você selecionar LoadBalancer como a categoria de serviço. O tráfego será redirecionado para as vagens de back -end quando chegar a este balanceador de carga. Os detalhes deste método são determinados pela forma como cada fornecedor de balanceamento de carga implementa sua tecnologia.

ExternalName
Como os serviços externos de nome não possuem seletores ou portas fixas ou pontos de extremidade, eles podem redirecionar o tráfego para um serviço de fora. Este formulário associa o serviço aos elementos do campo de nome externo. Ele completa isso retornando o valor de registro de um cname.

Crie uma implantação junto com o serviço

Uma implantação de Kubernetes monitora a saúde da vagem e, se necessário. As implantações são o método de gerenciar a formação e escala de pods. Então, para gerenciar um pod, vamos criar uma implantação. Para esse fim, vamos abrir o terminal do seu Ubuntu 20.04 LTS Operating System. Você pode usar a área de aplicativo ou a chave de atalho para esse fim. Certifique -se de ter o Minikube instalado em seu sistema.

Execute o comando abaixo do lugar para iniciar o Minikube.

$ minikube Iniciar

Na saída deste comando, você verá a versão do Minikube. Após este comando, você deve abrir o painel do Minikube com a ajuda deste comando abaixo da listada.

Painel de $ minikube

Agora estamos todos prontos para criar uma implantação usando o comando create. Você tem que escrever o comando de recompensa abaixo, conforme mostrado no terminal.

Você pode ver que o nó do olá foi criado. Se você quiser ver as implantações, pode fazer isso facilmente executando o comando citado.

$ KUBECTL Get Implements

Na saída, você pode ver as informações básicas relacionadas a uma implantação já criada. Você pode ver o pod pela execução deste comando:

$ kubectl Obtenha pods

Na saída abaixo da balança, você pode visualizar facilmente todas as informações relevantes relacionadas às vagens listadas. Se você deseja listar os eventos de cluster, pode usar o seguinte comando básico para esse fim.

$ kubectl Obtenha eventos

Agora, você pode visualizar a configuração do Kubectl usando o comando abaixo esticado:

visualização de configuração $ kubectl

Dentro do cluster Kubernetes, o pod estaria disponível apenas por seu endereço IP interno. Seria melhor expor o contêiner de hello-node como um serviço Kubernetes para disponibilizá-lo para fora da Rede Virtual Kubernetes. Agora vamos expor o pod usando o comando abaixo da listada. Além disso, você pode ver aquele -Type = loadBalancer que exporá o serviço relacionado fora do cluster.

Agora é a hora de ver o serviço criado. Portanto, para esse fim, você pode utilizar o comando abaixo da balança. A saída deve ser semelhante à exibida na imagem em anexo.

$ kubectl Get Services

Para visualizar as informações do serviço Hello Node, você pode usar o seguinte comando exibido junto com a palavra -chave Minikube.

$ Minikube Service Hello-Node

Você pode ver que o URL do nó também é exibido na captura de tela em anexo junto com a porta de destino. Felizmente, o serviço será aberto no navegador do seu sistema operacional. Você pode verificar se as informações de serviço são exibidas no navegador do seu sistema.

Conclusão

Neste guia, elaboramos o conceito de serviços em Kubernetes junto com suas diferentes categorias. Além disso, explicamos um exemplo básico para a criação de implantação junto com o serviço relevante. Ao ler e implementar este guia acima, espero que você possa entender facilmente o conceito de serviços de Kubernetes e sua criação.