Creați Kubernetes EndpointSlices

Creati Kubernetes Endpointslices



O secțiune de punct final vă permite să urmăriți punctul final al rețelei care este conectat la clusterul Kubernetes. Puteți afla mai multe despre EndpointSlices în mediul Kubernetes prin intermediul acestui articol pe care l-am creat pentru dvs. În acest tutorial, vă vom ajuta să aflați ce este un EndpointSlice în clusterul Kubernetes și cum puteți crea un EndpointSlice în Kubernetes. Vom demonstra câteva comenzi kubectl care ne permit să creăm un punct final în clusterul Kubernetes.

Ce este un EndpointSlice în Kubernetes?

EndpointSlice din Kubernetes este un instrument de urmărire a punctelor finale de rețea. Face posibilă monitorizarea punctelor finale ale rețelei într-un cluster Kubernetes. Cu cuvinte simple, este un obiect care primește adresele IP de la fiecare pod care i-a fost atribuit. Serviciul Kubernetes se referă la acest obiect pentru a obține înregistrarea adreselor IP interne ale podului pentru comunicare. Mai mult, aceste puncte finale sunt folosite de pod-uri pentru a se expune la un serviciu.

În domeniul Kubernetes, aceste puncte finale funcționează ca un strat de abstractizare care ajută serviciul Kubernetes să se asigure că există o distribuție a traficului către podurile din cluster. Cu toate acestea, atunci când o încărcătură de trafic crește, apare problema de scalare a traficului. Acest lucru se datorează faptului că un singur punct final deține toate punctele finale ale rețelei pentru fiecare serviciu. Și când aceste surse cresc la o dimensiune inacceptabilă, performanța Kubernetes este afectată negativ. Cu alte cuvinte, atunci când numărul de puncte finale ale rețelei crește enorm, capacitatea Kubernetes de a scala implementarea este afectată negativ. Să înțelegem acest lucru cu ajutorul următoarei imagini grafice:









Aici, puteți vedea că un punct final conține toate podurile din cluster, iar EndpointSlices sunt alternativa extensibilă și scalabilă la punctul final existent. Există o singură resursă Endpoint pentru întregul serviciu, dar există mai multe EndpointSlices pentru același serviciu. EndpointSlices vă ajută să vă scalați resursele rețelei în acest fel. Pentru a înțelege cât de semnificativă este această problemă de scalabilitate, să luăm un exemplu.



De exemplu, serviciul Kubernetes are aproximativ 9.000 de pod-uri care ajung cumva în resurse Endpoint de 2 MB. Un singur Endpoint are toate aceste resurse Endpoint ale serviciilor. Dacă vreun punct final al rețelei se modifică în punctul final, întreaga resursă a punctului final trebuie să fie distribuită între fiecare nod din cluster. Când vine vorba de a face cu un cluster care are 3000 de noduri, devine o problemă uriașă, deoarece trebuie trimis un număr mare de actualizări către fiecare nod. Prin urmare, atunci când scalați mai mult într-un singur punct final, cu atât scalarea rețelei devine mai dificilă.





Cu toate acestea, EndpointSlices rezolvă această problemă permițând Kubernetes-ului să se scaleze cât de mult este necesar. În loc să utilizați un singur punct final care conține o listă uriașă de adrese IP și numerele de porturi asociate acestora, utilizați mai multe EndpointSlices. Aceste EndpointSlices sunt bucăți mici dintr-un punct final uriaș. Aceste felii sunt mult mai mici, dar atenuează sarcina cauzată de punctul final uriaș. Puteți stoca până la 100 de poduri într-un singur EndpointSlice. Aceste EndpointSlices vă ajută să distribuiți serviciul unui anumit pod. Dacă se modifică vreun punct final al rețelei, trebuie doar să trimiteți actualizări la un EndpointSlice care conține maximum 100 de poduri. Toate celelalte poduri din rețea rămân neatinse.

Acum, să învățăm cum putem crea un Kubernetes EndpointSlice.



Cum sunt create EndpointSlices în Kubernetes?

Kubernetes EndpointSlices este cea mai bună alternativă la un singur punct final din clusterul Kubernetes. Nu numai că vă ajută să urmăriți toate punctele finale ale rețelei ușor și eficient, dar oferă și performanțe mai bune în comparație cu un singur punct final. De asemenea, arată traficul de rețea mai scăzut, oferind în același timp fiabilitate la scalare. În plus, utilizarea mai multor EndpointSlices vă permite să depuneți mai puțină muncă pe planul de control și nodurile din clusterul Kubernetes.

Puteți avea pașii care vă permit să învățați cum să creați EndpointSlices în clusterul Kubernetes în următoarele exemple.

Pasul 1: Porniți Clusterul Minikube

Primul și cel mai important pas este să vă asigurați că clusterul minikube este activ. Un cluster minikube inactiv nu vă va permite să efectuați nicio lucrare în mediul Kubernetes, așa că asigurați-vă că este în modul activ. Pentru a vă asigura că clusterul minikube este activ și rulează, utilizați următoarea comandă:

> porniți minikube

Dacă clusterul dvs. minikube nu a pornit mai devreme sau dacă este în modul de repaus, această comandă îl trezește și îl pune în funcțiune. Acum, aveți un cluster minikube activ. Sunteți gata să creați EndpointSlice în mediul dvs. Kubernetes.

Pasul 2: Creați o implementare cu fișierul YAML

Fișierul YAML este cel mai frecvent utilizat în Kubernetes pentru a crea implementări. Puteți utiliza fișierul YAML de implementare preexistent sau puteți crea unul nou cu următoarea comandă:

> nano endpoint.yaml

Aceasta creează un nou fișier YAML numit „endpoint.yaml” unde puteți salva definiția de implementare pentru configurare. Consultați definiția de implementare din următoarea captură de ecran:

Pasul 3: Creați EndpointSlice utilizând fișierul YAML

Acum că avem un fișier YAML care conține definiția de implementare, îl folosim pentru a crea EndpointSlices în clusterul nostru Kubernetes. Trebuie să implementăm fișierul de configurare, astfel încât să putem avea EndpointSlices în clusterul Kubernetes. Folosim următoarea comandă pentru a implementa fișierul de configurare:

> kubectl create -f endpoint.yaml

În mediul Kubernetes, resursele sunt create folosind comanda „kubectl create”. Prin urmare, folosim comanda „kubectl create” pentru a crea EndpointSlices din fișierul de configurare YAML.

Concluzie

Am explorat EndpointSlices în mediul Kubernetes. EndpointSlice din Kubernetes este un obiect care este utilizat pentru a urmări toate punctele finale ale rețelei din clusterul Kubernetes. Este cea mai bună alternativă la un punct final uriaș și unic din clusterul Kubernetes, deoarece permite o scalabilitate și opțiuni de extensibilitate mai bune. Aceste EndpointSlices permit clusterului Kubernetes să ofere performanțe mai bune, punând mai puțină muncă pe noduri și pe planul de control. Cu ajutorul unui exemplu, am învățat cum să creăm EndpointSlices în clusterul Kubernetes.