O que é um ponto de extremidade em Kubernetes?
EndPointSlice em Kubernetes é um rastreador de endpoint de rede. Torna possível monitorar os terminais da rede em um cluster de Kubernetes. Em palavras simples, é um objeto que recebe os endereços IP de cada cápsula atribuída a ele. Serviço de Kubernetes refere -se a esse objeto para obter o registro dos endereços IP internos da vagem para comunicação. Além disso, esses pontos de extremidade são usados pelas vagens para se expor a um serviço.
No reino de Kubernetes, esses pontos de extremidade funcionam como uma camada de abstração que ajuda o serviço Kubernetes a garantir que haja uma distribuição de tráfego para pods no cluster. No entanto, quando uma carga de tráfego aumenta, o problema de escala de trânsito ocorre. Isso ocorre porque um único terminal mantém todos os pontos de extremidade da rede para cada serviço. E quando essas fontes crescem para um tamanho inaceitável, o desempenho dos Kubernetes é impactado negativamente. Em outras palavras, quando o número de terminais de rede cresce imensamente, a capacidade dos Kubernetes de dimensionar a implantação é impactada negativamente. Vamos entender isso com a ajuda da seguinte imagem gráfica:
Aqui, você pode ver que um ponto de extremidade contém todas as vagens no cluster e os pontos de extremidade são a alternativa extensível e escalável ao terminal existente. Há apenas um recurso de terminal para todo o serviço, mas há mais de um ponto de extremidade para o mesmo serviço. Os EndPointSlices ajudam você a dimensionar seus recursos de rede dessa maneira. Para entender o quão significativo é essa questão de escalabilidade, vamos dar um exemplo.
Por exemplo, o Serviço Kubernetes tem cerca de 9.000 pods que de alguma forma acabam em recursos de endpoint de 2 MB. Um único terminal possui todos esses recursos de endpoint dos serviços. Se algum ponto de extremidade de rede mudar no ponto de extremidade, todo o recurso do endpoint precisará ser distribuído entre cada nó no cluster. Quando se trata de lidar com um cluster com 3000 nós, torna -se um enorme problema, já que um grande número de atualizações precisa ser enviado para cada nó. Portanto, quando você escala mais em um único ponto final, mais difícil a escala da rede se torna.
No entanto, os endpointslices resolvem esse problema, permitindo que os Kubernetes escalem o máximo que necessário. Em vez de usar um único ponto de extremidade que contém uma enorme lista de endereços IP e seus números de porta associados, use vários pontos de extremidade. Esses pontos de extremidade são pequenos pedaços de um enorme endpoint único. Essas fatias são menores em muito, mas mitigam a carga causada pelo enorme endpoint. Você pode armazenar até 100 pods em um ponto final. Esses pontos de extremidade ajudam você a distribuir o serviço a uma vagem específica. Se algum ponto de extremidade de rede mudar, você só precisará enviar atualizações para um ponto de extremidade que contém um máximo de 100 pods. Todas as outras vagens da rede permanecem intocadas.
Agora, vamos aprender como podemos criar um Kubernetes Endpointslice.
Como são criados o EndpointSlices em Kubernetes?
Kubernetes Endpointslices é a melhor alternativa para um único terminal no cluster Kubernetes. Ele não apenas ajuda você a rastrear todos os pontos de extremidade da rede com facilidade e eficiência, mas também oferece melhor desempenho em comparação com um único terminal. Ele também mostra o menor tráfego de rede, oferecendo confiabilidade em escala. Além disso, o uso das múltiplas pontos de extremidade permite que você coloque menos trabalho no plano de controle e nos nós no cluster Kubernetes.
Você pode ter as etapas que permitem aprender a criar os pontos de extremidade no cluster de Kubernetes nos seguintes exemplos.
Etapa 1: Inicie o cluster Minikube
A primeira e principal etapa é garantir que o cluster Minikube esteja ativo. Um cluster de minikube inativo não permitirá que você realize nenhum trabalho no ambiente Kubernetes, portanto, verifique se está no modo ativo. Para garantir que o cluster Minikube esteja em funcionamento, use o seguinte comando:
> Minikube StartSe o seu cluster Minikube não começou mais cedo ou se estiver no modo de suspensão, este comando o acorda e o coloca em funcionamento. Agora, você tem um cluster de minikube ativo. Você está pronto para criar o endpointslice em seu ambiente Kubernetes.
Etapa 2: Crie uma implantação com o arquivo YAML
O arquivo YAML é mais comumente usado em Kubernetes para criar implantações. Você pode usar o arquivo YAML de implantação pré-existente ou pode criar um novo com o seguinte comando:
> endpoint nano.YamlIsso cria um novo arquivo YAML chamado “endpoint.YAML ”onde você pode salvar a definição de implantação para configuração. Consulte a definição de implantação na captura de tela a seguir:
Etapa 3: Crie o EndpointSlice usando o arquivo YAML
Agora que temos um arquivo YAML que contém a definição de implantação, nós o usamos para criar o EndpointSlices em nosso cluster Kubernetes. Precisamos implantar o arquivo de configuração para que possamos ter os pontos de extremidade no cluster Kubernetes. Usamos o seguinte comando para implantar o arquivo de configuração:
> kubectl Criar -f endpoint.YamlNo ambiente Kubernetes, os recursos são criados usando o comando "Kubectl Create". Por isso, usamos o comando "Kubectl Create" para criar os pontos de extremidade do arquivo de configuração YAML.
Conclusão
Exploramos os pontos de extremidade no ambiente Kubernetes. O EndpointSlice em Kubernetes é um objeto usado para rastrear todos os pontos de extremidade da rede no cluster de Kubernetes. É a melhor alternativa a um terminal enorme e único no cluster Kubernetes, pois permite uma melhor escalabilidade e opções de extensibilidade. Esses pontos de extremidade permitem que o cluster de Kubernetes ofereça melhor desempenho, colocando menos mão de obra nos nós e no plano de controle. Com a ajuda de um exemplo, aprendemos a criar os pontos de extremidade no cluster Kubernetes.