Exponha o serviço Kubernetes a um endereço IP externo

Exponha o serviço Kubernetes a um endereço IP externo
Neste guia, devemos aprender a expor o serviço Kubernetes a um endereço IP externo. Existem três maneiras diferentes de expor um serviço Kubernetes a um endereço IP externo: Clusterip, Nodeport e LoadBalancer. Neste guia, aprenderemos a expor o serviço Kubernetes a um endereço IP externo usando o método LoadBalancer.

Pré -requisitos:

Você precisa das seguintes ferramentas instaladas e configuradas corretamente em seu sistema antes de começar a seguir:

  • Ferramenta de linha de comando kubectl
  • Cluster de Kubernetes
  • Cluster Minikube
  • Ubuntu 22.04 ou outra versão posterior instalada
  • Provedores de nuvem como a Amazon Web Services, etc

Depois de instalar essas ferramentas, você estará pronto para expor um serviço Kubernetes a um endereço IP externo.

Como posso tornar um serviço Kubernetes acessível a endereços IP externos?

Aqui está um guia passo a passo para expor um serviço Kubernetes a um endereço IP externo.

Etapa 1: Iniciar o Minikube

Vamos começar com o início do cluster Minikube. É importante iniciar o cluster Minikube toda vez que você precisar configurar algo ou executar seus aplicativos em seu ambiente Kubernetes. Iniciar o cluster Minikube garante que o cluster Minikube esteja em funcionamento e pronto para executar seu aplicativo. Portanto, basta usar o comando mostrado abaixo para iniciar o cluster Minikube:

kalsoom@kalsoom-virtualbox> start minikube

Etapa 2: Crie uma implantação

Neste guia, estamos expondo o serviço Kubernetes a um endereço IP externo usando uma implantação. Temos a configuração definida no Exemplo de Balancero de Carga.Arquivo Yaml que usaremos para criar uma implantação no cluster. Para criar a implantação, executaremos o seguinte comando:

kalsoom@kalsoom -virtualbox> kubectl Aplicar -f https: // k8s.IO/Exemplos/Service/Load-Balancer-Exemplo.Yaml

Como mostrado, uma implantação intitulada Hello-World foi gerada com sucesso.

Etapa 3: Verifique a implantação

Agora, vamos verificar que tipo de implantação foi criada e seus detalhes associados. Para verificar a implantação, será usado o comando abaixo:

kalsoom@kalsoom-virtualbox> kubectl Get Implements Hello-World

Este comando exibirá os detalhes da implantação, consulte a saída abaixo:

Como mostrado, a implantação Hello-World foi criada com um conjunto de réplicas contendo cinco pods. Cada um dos cinco pods executará o aplicativo Hello-World. No entanto, este comando mostrou um breve detalhe da implantação, se você deseja verificar mais detalhes da implantação, poderá usar o seguinte comando:

kalsoom@kalsoom-virtualbox> kubectl descrever implantações Hello-World

O comando 'Kubectl descreve' fornece uma descrição de detalhes da implantação que ajuda você a saber mais sobre a implantação. Consulte a saída fornecida abaixo para obter uma descrição detalhada da implantação:

Etapa 4: verifique os objetos REPLICASETS

Como sabemos, a implantação foi criada com um objeto REPLICASET. Então, vamos verificar os detalhes desses objetos. Para inspecionar os detalhes do ReplicaSet, podemos empregar o comando listado abaixo:

kalsoom@kalsoom-virtualbox> kubectl Get ReplicaSets

Como mostrado, os detalhes dos réplicas incluem: nome, desejado, atual, pronto e idade. Se você quiser saber mais sobre os réplicas da implantação, pode usar o seguinte comando:

kalsoom@kalsoom-virtualbox> kubectl descrever replicasets

Este comando fornecerá os detalhes aprofundados dos réplicas associados à implantação do Hello World, consulte a saída fornecida na captura de tela abaixo:

Etapa 5: Crie um objeto de serviço para expor a implantação

Agora, vamos expor a implantação usando um objeto de serviço. Como estamos expondo o serviço Kubernetes a um IP externo usando uma implantação, precisaremos de um objeto de serviço para expor a implantação.

kalsoom@kalsoom-virtualbox> kubectl expondo implantação hello-world --type = loadbalancer--name = my-service

Como você pode ver, existem duas bandeiras usadas com o comando, -Type = loadBalancer e -name = my -service. A primeira bandeira determina o tipo de balanceador e a segunda bandeira determina o nome do objeto de serviço. Agora, vamos nos referir à saída fornecida abaixo:

Como você pode ver na saída dada acima, um objeto de serviço chamado my-service foi exposto com sucesso.

Etapa 6: obtenha os detalhes do objeto de serviço

O próximo passo é ver os detalhes do objeto de serviço que criamos anteriormente. Podemos usar o comando fornecido abaixo para obter os detalhes do objeto de serviço:

kalsoom@kalsoom-virtualbox> kubectl Get Service My-Service

O comando 'kubectl get' é usado para obter acesso ao cluster, pod, nó ou qualquer coisa no ambiente Kubernetes. Estamos tentando obter os detalhes do objeto de serviço. Então, fornecemos a bandeira 'Serviços' seguida pelo nome do serviço de serviço my-service. Veja a saída abaixo:

Novamente, se você precisar saber mais sobre o objeto de serviço, sempre pode usar o comando 'Kubectl descrever'. O comando completo é fornecido abaixo para sua referência:

kalsoom@kalsoom-virtualbox> kubectl descrever serviços my-service

Depois de executar este comando, você obtém uma saída semelhante à da abaixo:

A partir da saída acima, você pode observar que o endereço IP é 10.110.159.180. A porta usada é 8080 e Nodeport é 30215, enquanto não há pontos de extremidade, e o endereço IP pertence à família IPv4.

Etapa 7: verifique o endereço do pod

Agora que sabemos os detalhes do objeto de serviço, podemos verificar o endereço das vagens nas quais eles estão atualmente executando o aplicativo Hello-World. O comando descrito abaixo simplifica isso:

kalsoom@kalsoom -virtualbox> kubectl get pods -Output = wide

Este comando nos mostrará o endereço dos pods que estão executando o aplicativo Hello-World, consulte a saída fornecida no instantâneo abaixo:

Então, é assim que expor os serviços Kubernetes a um endereço IP externo.

Etapa 8: Limpe

Depois de expor com sucesso os serviços Kubernetes a um endereço IP externo, certifique -se de excluir o objeto de serviço junto com a implantação. Isso pode ser feito com o seguinte comando:

kalsoom@kalsoom-virtualbox> kubectl exclation Services My-Service

Com este comando, o objeto de serviço será removido do cluster:

Agora, para excluir a implantação completa, incluindo os pods e replicasets, use o seguinte comando:

kalsoom@kalsoom-virtualbox> kubectl delete implantação Hello-World

Conclusão

Neste guia, aprendemos a expor os serviços Kubernetes em um endereço IP externo. Com a ajuda de um guia passo a passo, expusemos um serviço Kubernetes a um endereço IP externo usando uma implantação. Depois de expor o serviço Kubernetes a um endereço IP externo, também realizamos um processo de limpeza adequado.