Vytvořte Kubernetes EndpointSlices

Vytvorte Kubernetes Endpointslices



Řez koncového bodu vám umožňuje sledovat koncový bod sítě, která je připojena ke clusteru Kubernetes. Více o EndpointSlices v prostředí Kubernetes se můžete dozvědět prostřednictvím tohoto článku, který jsme pro vás vytvořili. V tomto tutoriálu vám pomůžeme zjistit, co je EndpointSlice v clusteru Kubernetes a jak můžete vytvořit EndpointSlice v Kubernetes. Ukážeme si některé příkazy kubectl, které nám umožňují vytvořit koncový bod v clusteru Kubernetes.

Co je EndpointSlice v Kubernetes?

EndpointSlice v Kubernetes je síťový sledovač koncových bodů. Umožňuje monitorovat koncové body sítě v clusteru Kubernetes. Jednoduše řečeno, je to objekt, který získává IP adresy z každého modulu, který je mu přiřazen. Služba Kubernetes odkazuje na tento objekt, aby získala záznam interních IP adres podu pro komunikaci. Kromě toho tyto koncové body používají moduly k tomu, aby byly vystaveny službě.

Ve sféře Kubernetes tyto koncové body fungují jako abstraktní vrstva, která službě Kubernetes pomáhá zajistit distribuci provozu do podů v clusteru. Když se však zvýší zatížení provozu, dojde k problému se škálováním provozu. Je to proto, že jeden koncový bod obsahuje všechny koncové body sítě pro každou službu. A když tyto zdroje narostou na nepřijatelnou velikost, výkon Kubernetes bude negativně ovlivněn. Jinými slovy, když počet koncových bodů sítě nesmírně roste, schopnost Kubernetes škálovat nasazení bude negativně ovlivněna. Pojďme to pochopit pomocí následujícího grafického obrázku:









Zde vidíte, že Koncový bod obsahuje všechny pody v clusteru a EndpointSlices jsou rozšiřitelná a škálovatelná alternativa ke stávajícímu Koncovému bodu. Existuje pouze jeden prostředek koncového bodu pro celou službu, ale pro stejnou službu existuje více než jeden koncový bod. EndpointSlices vám tímto způsobem pomáhají škálovat vaše síťové zdroje. Abychom pochopili, jak významný je tento problém se škálovatelností, uveďme si příklad.



Například služba Kubernetes má asi 9 000 modulů, které nějakým způsobem skončí ve 2 MB zdrojů koncového bodu. Jediný koncový bod má všechny tyto koncové prostředky služeb. Pokud se v koncovém bodu změní jakýkoli koncový bod sítě, musí být celý prostředek koncového bodu distribuován mezi každý uzel v klastru. Pokud jde o řešení klastru, který má 3000 uzlů, stává se to obrovský problém, protože do každého uzlu je třeba posílat obrovské množství aktualizací. Když tedy škálujete více v jediném koncovém bodě, tím obtížnější bude škálování sítě.





EndpointSlices však tento problém řeší tím, že umožňují Kubernetes škálovat tak, jak je potřeba. Namísto použití jednoho koncového bodu, který obsahuje velký seznam IP adres a jejich přidružených čísel portů, použijte více oblastí EndpointSlice. Tyto EndpointSlices jsou malé kousky velkého jednoho koncového bodu. Tyto řezy jsou mnohem menší, ale snižují zátěž způsobenou obrovským koncovým bodem. V jednom EndpointSlice můžete uložit až 100 modulů. Tyto EndpointSlices vám pomohou distribuovat službu do konkrétního modulu. Pokud se změní jakýkoli koncový bod sítě, stačí odeslat aktualizace na EndpointSlice, která obsahuje maximálně 100 modulů. Všechny ostatní moduly v síti zůstanou nedotčeny.

Nyní se naučíme, jak můžeme vytvořit Kubernetes EndpointSlice.



Jak se v Kubernetes vytvářejí EndpointSlices?

Kubernetes EndpointSlices je nejlepší alternativou k jednomu koncovému bodu v clusteru Kubernetes. Pomáhá vám nejen snadno a efektivně sledovat všechny koncové body sítě, ale také poskytuje lepší výkon ve srovnání s jedním koncovým bodem. Ukazuje také nižší síťový provoz a zároveň nabízí spolehlivost škálování. Kromě toho vám použití více oblastí EndpointSlices umožňuje vynaložit méně práce na řídicí rovinu a uzly v clusteru Kubernetes.

V následujících příkladech můžete mít kroky, které vám umožní naučit se vytvářet EndpointSlices v clusteru Kubernetes.

Krok 1: Spusťte Minikube Cluster

Prvním a nejdůležitějším krokem je zajistit, aby byl cluster minikube aktivní. Neaktivní minikube cluster vám neumožní provádět žádnou práci v prostředí Kubernetes, takže se ujistěte, že je v aktivním režimu. Chcete-li zajistit, aby byl cluster minikube spuštěn a spuštěn, použijte následující příkaz:

> spustit minikube

Pokud se váš cluster minikube nespustil dříve nebo pokud je v režimu spánku, tento příkaz jej probudí a spustí. Nyní máte aktivní cluster minikube. Jste připraveni vytvořit EndpointSlice ve vašem prostředí Kubernetes.

Krok 2: Vytvořte rozmístění pomocí souboru YAML

Soubor YAML se v Kubernetes nejčastěji používá k vytváření nasazení. Můžete použít již existující soubor YAML pro nasazení nebo můžete vytvořit nový pomocí následujícího příkazu:

> nano endpoint.yaml

Tím se vytvoří nový soubor YAML s názvem „endpoint.yaml“, do kterého můžete uložit definici nasazení pro konfiguraci. Podívejte se na definici nasazení na následujícím snímku obrazovky:

Krok 3: Vytvořte EndpointSlice pomocí souboru YAML

Nyní, když máme soubor YAML, který obsahuje definici nasazení, použijeme jej k vytvoření EndpointSlices v našem clusteru Kubernetes. Potřebujeme nasadit konfigurační soubor, abychom mohli mít EndpointSlices v clusteru Kubernetes. K nasazení konfiguračního souboru používáme následující příkaz:

> kubectl create -f endpoint.yaml

V prostředí Kubernetes se prostředky vytvářejí pomocí příkazu „kubectl create“. Proto používáme příkaz „kubectl create“ k vytvoření EndpointSlices z konfiguračního souboru YAML.

Závěr

Prozkoumali jsme EndpointSlices v prostředí Kubernetes. EndpointSlice v Kubernetes je objekt, který se používá ke sledování všech koncových bodů sítě v clusteru Kubernetes. Je to nejlepší alternativa k obrovskému a jedinému koncovému bodu v clusteru Kubernetes, protože umožňuje lepší škálovatelnost a možnosti rozšiřitelnosti. Tyto EndpointSlices umožňují clusteru Kubernetes poskytovat lepší výkon tím, že umisťují méně práce na uzly a řídicí rovinu. S pomocí příkladu jsme se naučili, jak vytvořit EndpointSlices v clusteru Kubernetes.