Kubernetes-eindpuntsegmenten maken

Kubernetes Eindpuntsegmenten Maken



Met een eindpuntsegment kunt u het eindpunt volgen van het netwerk dat is verbonden met het Kubernetes-cluster. U kunt meer te weten komen over EndpointSlices in de Kubernetes-omgeving via dit artikel dat we voor u hebben gemaakt. In deze zelfstudie helpen we u te leren wat een EndpointSlice is in het Kubernetes-cluster en hoe u een EndpointSlice in Kubernetes kunt maken. We zullen enkele kubectl-opdrachten demonstreren waarmee we een eindpunt in het Kubernetes-cluster kunnen maken.

Wat is een EndpointSlice in Kubernetes?

EndpointSlice in Kubernetes is een tracker voor netwerkeindpunten. Het maakt het mogelijk om de netwerkeindpunten in een Kubernetes-cluster te monitoren. Simpel gezegd, het is een object dat de IP-adressen krijgt van elke pod die eraan is toegewezen. De Kubernetes-service verwijst naar dit object om het record van de interne IP-adressen van de pod op te halen voor communicatie. Bovendien worden deze eindpunten door de pods gebruikt om zichzelf bloot te stellen aan een service.

In het Kubernetes-domein werken deze eindpunten als een abstractielaag die de Kubernetes-service helpt ervoor te zorgen dat er een distributie van verkeer naar pods in het cluster is. Wanneer de verkeersbelasting echter toeneemt, treedt het verkeersschalingsprobleem op. Dit komt omdat een enkel eindpunt alle netwerkeindpunten voor elke service bevat. En wanneer deze bronnen uitgroeien tot een onaanvaardbare omvang, worden de prestaties van Kubernetes negatief beïnvloed. Met andere woorden, wanneer het aantal netwerkeindpunten enorm groeit, wordt het vermogen van Kubernetes om de implementatie op te schalen negatief beïnvloed. Laten we dit begrijpen met behulp van de volgende grafische afbeelding:









Hier kunt u zien dat een Endpoint alle pods in het cluster bevat en dat EndpointSlices het uitbreidbare en schaalbare alternatief zijn voor het bestaande Endpoint. Er is slechts één Endpoint-resource voor de hele service, maar er zijn meer dan één EndpointSlices voor dezelfde service. De EndpointSlices helpen u op deze manier uw netwerkbronnen te schalen. Laten we een voorbeeld nemen om te begrijpen hoe belangrijk dit schaalbaarheidsprobleem is.



De Kubernetes-service heeft bijvoorbeeld zo'n 9.000 pods die op de een of andere manier terechtkomen in 2 MB Endpoint-resources. Een enkel eindpunt heeft al deze eindpuntresources van de services. Als een netwerkeindpunt verandert in het eindpunt, moet de volledige bron van het eindpunt worden verdeeld over elk knooppunt in het cluster. Als het gaat om het omgaan met een cluster met 3000 knooppunten, wordt het een enorm probleem omdat er een groot aantal updates naar elk knooppunt moet worden verzonden. Dus als u meer schaalt in slechts één eindpunt, wordt het moeilijker om het netwerk te schalen.





De EndpointSlices lossen dit probleem echter op door de Kubernetes in staat te stellen zoveel te schalen als nodig is. Gebruik meerdere EndpointSlices in plaats van een enkel eindpunt te gebruiken dat een enorme lijst met IP-adressen en de bijbehorende poortnummers bevat. Deze EndpointSlices zijn kleine stukjes van een enorm enkel eindpunt. Deze segmenten zijn veel kleiner, maar ze verlichten de belasting die wordt veroorzaakt door het enorme eindpunt. U kunt maximaal 100 pods opslaan in één EndpointSlice. Deze EndpointSlices helpen u bij het distribueren van de service naar een specifieke pod. Als een netwerkeindpunt verandert, hoeft u alleen updates te verzenden naar een EndpointSlice die maximaal 100 pods bevat. Alle andere pods in het netwerk blijven onaangeroerd.

Laten we nu kijken hoe we een Kubernetes EndpointSlice kunnen maken.



Hoe worden EndpointSlices gemaakt in Kubernetes?

Kubernetes EndpointSlices is het beste alternatief voor een enkel eindpunt in het Kubernetes-cluster. Het helpt u niet alleen om alle netwerkeindpunten eenvoudig en efficiënt te volgen, maar levert ook betere prestaties in vergelijking met een enkel eindpunt. Het toont ook het lagere netwerkverkeer en biedt schaalbetrouwbaarheid. Bovendien stelt het gebruik van de meerdere EndpointSlices u in staat om minder arbeid te besteden aan het besturingsvlak en de knooppunten in het Kubernetes-cluster.

In de volgende voorbeelden vindt u de stappen waarmee u leert hoe u de EndpointSlices in het Kubernetes-cluster kunt maken.

Stap 1: Start het Minikube-cluster

De eerste en belangrijkste stap is ervoor te zorgen dat het minikube-cluster actief is. Met een inactieve minikube-cluster kunt u geen werk uitvoeren in de Kubernetes-omgeving, dus zorg ervoor dat deze in de actieve modus staat. Gebruik de volgende opdracht om ervoor te zorgen dat het minikube-cluster actief is:

> minikube starten

Als uw minikube-cluster niet eerder is gestart of in de slaapstand staat, maakt deze opdracht het wakker en start het op. Nu heb je een actief minikube-cluster. U bent klaar om de EndpointSlice in uw Kubernetes-omgeving te maken.

Stap 2: Maak een implementatie met het YAML-bestand

Het YAML-bestand wordt het meest gebruikt in Kubernetes om implementaties te maken. U kunt het reeds bestaande YAML-implementatiebestand gebruiken of u kunt een nieuw bestand maken met de volgende opdracht:

> nano-eindpunt.yaml

Hierdoor wordt een nieuw YAML-bestand met de naam 'endpoint.yaml' gemaakt, waarin u de implementatiedefinitie voor configuratie kunt opslaan. Raadpleeg de implementatiedefinitie in de volgende schermafbeelding:

Stap 3: Maak de EndpointSlice met behulp van het YAML-bestand

Nu we een YAML-bestand hebben dat de implementatiedefinitie bevat, gebruiken we het om de EndpointSlices in ons Kubernetes-cluster te maken. We moeten het configuratiebestand implementeren zodat we de EndpointSlices in het Kubernetes-cluster kunnen hebben. We gebruiken de volgende opdracht om het configuratiebestand te implementeren:

> kubectl create -f eindpunt.yaml

In de Kubernetes-omgeving worden bronnen gemaakt met behulp van de opdracht 'kubectl create'. Daarom gebruiken we de opdracht 'kubectl create' om de EndpointSlices te maken op basis van het YAML-configuratiebestand.

Gevolgtrekking

We hebben de EndpointSlices in de Kubernetes-omgeving verkend. De EndpointSlice in Kubernetes is een object dat wordt gebruikt om alle netwerkeindpunten in het Kubernetes-cluster te volgen. Het is het beste alternatief voor een enorm en enkel eindpunt in het Kubernetes-cluster, omdat het betere schaalbaarheids- en uitbreidbaarheidsopties biedt. Deze EndpointSlices stellen het Kubernetes-cluster in staat betere prestaties te leveren door minder arbeid te besteden aan knooppunten en het besturingsvlak. Aan de hand van een voorbeeld hebben we geleerd hoe we de EndpointSlices in het Kubernetes-cluster kunnen maken.