Vytvorte Kubernetes EndpointSlices

Vytvorte Kubernetes Endpointslices



Výsek koncového bodu vám umožňuje sledovať koncový bod siete, ktorá je prepojená s klastrom Kubernetes. Viac o EndpointSlices v prostredí Kubernetes sa môžete dozvedieť prostredníctvom tohto článku, ktorý sme pre vás vytvorili. V tomto návode vám pomôžeme zistiť, čo je EndpointSlice v klastri Kubernetes a ako môžete vytvoriť EndpointSlice v Kubernetes. Ukážeme niekoľko príkazov kubectl, ktoré nám umožňujú vytvoriť koncový bod v klastri Kubernetes.

Čo je EndpointSlice v Kubernetes?

EndpointSlice v Kubernetes je sledovač koncových bodov siete. Umožňuje monitorovať koncové body siete v klastri Kubernetes. Jednoducho povedané, je to objekt, ktorý získava IP adresy z každého modulu, ktorý je mu priradený. Služba Kubernetes odkazuje na tento objekt, aby získala záznam o interných IP adresách modulu na komunikáciu. Okrem toho tieto koncové body používajú moduly na to, aby boli vystavené službe.

Vo sfére Kubernetes tieto koncové body fungujú ako abstrakcia, ktorá pomáha službe Kubernetes zabezpečiť distribúciu návštevnosti do podov v klastri. Keď sa však zvýši zaťaženie premávky, nastane problém so škálovaním návštevnosti. Je to preto, že jeden koncový bod obsahuje všetky koncové body siete pre každú službu. A keď tieto zdroje narastú do neprijateľnej veľkosti, výkon Kubernetes bude negatívne ovplyvnený. Inými slovami, keď počet koncových bodov siete nesmierne narastie, negatívne sa ovplyvní schopnosť Kubernetes škálovať nasadenie. Pochopme to pomocou nasledujúceho grafického obrázka:









Tu môžete vidieť, že Endpoint obsahuje všetky moduly v klastri a EndpointSlices sú rozšíriteľnou a škálovateľnou alternatívou k existujúcemu Endpointu. Existuje iba jeden zdroj koncového bodu pre celú službu, ale pre rovnakú službu existuje viac ako jeden koncový bod. EndpointSlices vám týmto spôsobom pomáhajú škálovať vaše sieťové zdroje. Aby sme pochopili, aký významný je tento problém so škálovateľnosťou, uveďme si príklad.



Napríklad služba Kubernetes má približne 9 000 modulov, ktoré nejakým spôsobom skončia v 2 MB zdrojov koncového bodu. Jediný koncový bod má všetky tieto prostriedky koncového bodu služieb. Ak sa v koncovom bode zmení akýkoľvek koncový bod siete, celý zdroj koncového bodu sa musí rozdeliť medzi každý uzol v klastri. Pokiaľ ide o riešenie klastra s 3 000 uzlami, stáva sa to obrovským problémom, pretože do každého uzla je potrebné posielať veľké množstvo aktualizácií. Preto, keď škálujete viac v jednom koncovom bode, tým ťažšie sa škálovanie siete stáva.





EndpointSlices však riešia tento problém tým, že umožňujú Kubernetes škálovať toľko, koľko je potrebné. Namiesto použitia jedného koncového bodu, ktorý obsahuje obrovský zoznam adries IP a ich priradených čísel portov, použite viacero oblastí EndpointSlice. Tieto EndpointSlices sú malé kúsky obrovského jedného koncového bodu. Tieto plátky sú oveľa menšie, ale zmierňujú záťaž spôsobenú obrovským koncovým bodom. V jednom EndpointSlice môžete uložiť až 100 modulov. Tieto EndpointSlices vám pomôžu distribuovať službu na konkrétny modul. Ak sa zmení akýkoľvek koncový bod siete, stačí odoslať aktualizácie do EndpointSlice, ktorá obsahuje maximálne 100 modulov. Všetky ostatné moduly v sieti zostanú nedotknuté.

Teraz sa naučíme, ako môžeme vytvoriť Kubernetes EndpointSlice.



Ako sa v Kubernetes vytvárajú EndpointSlices?

Kubernetes EndpointSlices je najlepšou alternatívou k jednému koncovému bodu v klastri Kubernetes. Nielenže vám pomôže jednoducho a efektívne sledovať všetky koncové body siete, ale poskytuje aj lepší výkon v porovnaní s jedným koncovým bodom. Ukazuje tiež nižšiu sieťovú prevádzku a zároveň ponúka spoľahlivosť škálovania. Navyše, použitie viacerých EndpointSlices vám umožňuje vynaložiť menej práce na riadiacu rovinu a uzly v klastri Kubernetes.

V nasledujúcich príkladoch môžete mať kroky, ktoré vám umožnia naučiť sa vytvárať oblasti EndpointSlices v klastri Kubernetes.

Krok 1: Spustite klaster Minikube

Prvým a najdôležitejším krokom je zabezpečiť, aby bol klaster minikube aktívny. Neaktívny klaster minikube vám nedovolí vykonávať žiadnu prácu v prostredí Kubernetes, preto sa uistite, že je v aktívnom režime. Ak chcete zabezpečiť, aby bol klaster minikube v prevádzke, použite nasledujúci príkaz:

> spustiť minikube

Ak sa váš klaster minikube nespustil skôr alebo ak je v režime spánku, tento príkaz ho prebudí a spustí. Teraz máte aktívny klaster minikube. Ste pripravení vytvoriť EndpointSlice vo svojom prostredí Kubernetes.

Krok 2: Vytvorte nasadenie pomocou súboru YAML

Súbor YAML sa najčastejšie používa v Kubernetes na vytváranie nasadení. Môžete použiť už existujúci súbor YAML nasadenia alebo môžete vytvoriť nový pomocou nasledujúceho príkazu:

> nano endpoint.yaml

Tým sa vytvorí nový súbor YAML s názvom „endpoint.yaml“, kde si môžete uložiť definíciu nasadenia na konfiguráciu. Pozrite si definíciu nasadenia na nasledujúcej snímke obrazovky:

Krok 3: Vytvorte EndpointSlice pomocou súboru YAML

Teraz, keď máme súbor YAML, ktorý obsahuje definíciu nasadenia, používame ho na vytvorenie EndpointSlices v našom klastri Kubernetes. Potrebujeme nasadiť konfiguračný súbor, aby sme mohli mať EndpointSlices v klastri Kubernetes. Na nasadenie konfiguračného súboru používame nasledujúci príkaz:

> kubectl vytvoriť -f endpoint.yaml

V prostredí Kubernetes sa zdroje vytvárajú pomocou príkazu „kubectl create“. Preto používame príkaz „kubectl create“ na vytvorenie EndpointSlices z konfiguračného súboru YAML.

Záver

Preskúmali sme EndpointSlices v prostredí Kubernetes. EndpointSlice v Kubernetes je objekt, ktorý sa používa na sledovanie všetkých koncových bodov siete v klastri Kubernetes. Je to najlepšia alternatíva k obrovskému a jedinému koncovému bodu v klastri Kubernetes, pretože umožňuje lepšiu škálovateľnosť a možnosti rozšírenia. Tieto EndpointSlices umožňujú klastru Kubernetes poskytovať lepší výkon umiestnením menšej práce na uzly a riadiacu rovinu. Pomocou príkladu sme sa naučili, ako vytvoriť EndpointSlices v klastri Kubernetes.