Lag Kubernetes EndpointSlices

Lag Kubernetes EndpointSlices
En endepunktskive lar deg spore endepunktet til nettverket som er koblet til Kubernetes -klyngen. Du kan lære mer om EndpointSlices i Kubernetes -miljøet gjennom denne artikkelen som vi opprettet for deg. I denne opplæringen vil vi hjelpe deg med å lære hva en endepointslice er i Kubernetes -klyngen og hvordan du kan lage en endepointslice i Kubernetes. Vi vil demonstrere noen Kubectl -kommandoer som lar oss lage et endepunkt i Kubernetes -klyngen.

Hva er en endepunktslice i Kubernetes?

Endpointslice i Kubernetes er en endepunktspor for nettverk. Det gjør det mulig å overvåke nettverkens endepunkter i en Kubernetes -klynge. Med enkle ord er det et objekt som får IP -adressene fra hver pod tilordnet den. Kubernetes -tjenesten refererer til dette objektet for å få posten til Pods interne IP -adresser for kommunikasjon. Dessuten brukes disse endepunktene av belgene for å bli utsatt for en tjeneste.

I Kubernetes -riket fungerer disse endepunktene som et abstraksjonslag som hjelper Kubernetes -tjenesten med å sikre at det er en fordeling av trafikk til pods i klyngen. Men når en masse trafikk øker, oppstår trafikkskaleringsproblemet. Dette er fordi et enkelt endepunkt har alle nettverksendepunktene for hver tjeneste. Og når disse kildene vokser til en uakseptabel størrelse, blir ytelsen til Kubernetes påvirket negativt. Med andre ord, når antallet nettverksendepunkter vokser enormt, blir Kubernetes evne til å skalere distribusjonen negativt påvirket. La oss forstå dette ved hjelp av følgende grafiske bilde:

Her kan du se at et endepunkt inneholder alle belgene i klyngen og endepunktet er det utvidbare og skalerbare alternativet til det eksisterende endepunktet. Det er bare en endepunktressurs for hele tjenesten, men det er mer enn ett endepunkt for samme tjeneste. Endpointslices hjelper deg med å skalere nettverksressursene dine på denne måten. For å forstå hvor viktig dette skalerbarhetsproblemet er, la oss ta et eksempel.

For eksempel har Kubernetes -tjenesten rundt 9000 pods som på en eller annen måte havner i 2MB endepunktressurser. Et enkelt endepunkt har alle disse endepunktressursene til tjenestene. Hvis noen nettverk endepunkt endres i endepunktet, må hele ressursen til endepunktet distribueres mellom hver node i klyngen. Når det gjelder å håndtere en klynge som har 3000 noder, blir det et stort problem siden et stort antall oppdateringer må sendes til hver node. Derfor, når du skalerer mer i bare et enkelt endepunkt, blir det vanskeligere å skalere nettverket.

Imidlertid løser endepointslices dette problemet ved å gjøre det mulig for Kubernetes å skalere så mye som nødvendig. I stedet for å bruke et enkelt endepunkt som inneholder en enorm liste over IP -adresser og tilhørende portnumre, bruker du flere endepunkter. Disse endepunktene er små biter av et stort enkelt endepunkt. Disse skivene er mindre i mye, men de reduserer belastningen som er forårsaket av det enorme endepunktet. Du kan lagre opptil 100 belg i ett endepunktslice. Disse endepunktene hjelper deg med å distribuere tjenesten til en bestemt POD. Hvis noen nettverk endepunkt endres, trenger du bare å sende oppdateringer til en endepunktslice som inneholder maksimalt 100 pods. Alle andre belg i nettverket forblir uberørt.

La oss nå lære hvordan vi kan lage en Kubernetes Endpointslice.

Hvordan opprettes endpointlices i Kubernetes?

Kubernetes EndpointSlices er det beste alternativet til et enkelt endepunkt i Kubernetes -klyngen. Det hjelper deg ikke bare å spore alle nettverksendepunktene enkelt og effektivt, men gir også bedre ytelse sammenlignet med et enkelt endepunkt. Det viser også den lavere nettverkstrafikken mens du tilbyr skalering av pålitelighet. Ved å bruke de flere endpointslices lar du dessuten legge mindre arbeidskraft på kontrollplanet og nodene i Kubernetes -klyngen.

Du kan ha trinnene som lar deg lære hvordan du lager endepunktet i Kubernetes -klyngen i følgende eksempler på følgende eksempler.

Trinn 1: Start Minikube -klyngen

Det første og fremste trinnet er å sikre at Minikube -klyngen er aktiv. En inaktiv minikube -klynge vil ikke tillate deg å utføre noe arbeid i Kubernetes -miljøet, så sørg for at det er i aktiv modus. For å sikre at Minikube -klyngen er i gang, bruk følgende kommando:

> Minikube Start

Hvis minikube -klyngen ikke har startet tidligere, eller hvis den er i søvnmodus, vekker denne kommandoen den opp og får den opp og går. Nå har du en aktiv Minikube -klynge. Du er klar til å lage endepointslice i Kubernetes -miljøet ditt.

Trinn 2: Opprett en distribusjon med YAML -filen

YAML -filen er mest brukt i Kubernetes for å lage distribusjoner. Du kan bruke den eksisterende Distribusjonen YAML-filen, eller du kan opprette en ny med følgende kommando:

> Nano sluttpunkt.Yaml

Dette oppretter en ny YAML -fil som heter “Endpoint.yaml ”hvor du kan lagre distribusjonsdefinisjonen for konfigurasjon. Se distribusjonsdefinisjonen i følgende skjermbilde:

Trinn 3: Opprett endepunktslicen ved hjelp av YAML -filen

Nå som vi har en YAML -fil som inneholder distribusjonsdefinisjonen, bruker vi den til å lage endepunktlices i vår Kubernetes -klynge. Vi må distribuere konfigurasjonsfilen slik at vi kan ha endepointslices i Kubernetes -klyngen. Vi bruker følgende kommando for å distribuere konfigurasjonsfilen:

> KUBECTL CREATE -F ENDPOINT.Yaml

I Kubernetes -miljøet opprettes ressurser ved hjelp av “Kubectl Create” -kommandoen. Derfor bruker vi “Kubectl Create” -kommandoen for å opprette endepunktlices fra YAML -konfigurasjonsfilen.

Konklusjon

Vi utforsket endepunktslukkene i Kubernetes -miljøet. Endpointslice i Kubernetes er et objekt som brukes til å spore alle nettverksendepunktene i Kubernetes -klyngen. Det er det beste alternativet til et stort og enkelt sluttpunkt i Kubernetes -klyngen, siden det tillater bedre skalerbarhets- og utvidbarhetsalternativer. Disse endepunktene gjør det mulig for Kubernetes -klyngen å gi bedre ytelse ved å plassere mindre arbeidskraft på noder og kontrollplanet. Ved hjelp av et eksempel lærte vi hvordan vi lager endepunktet i Kubernetes -klyngen.