Postavite ograničenja resursa za Kubernetes

Postavite Ogranicenja Resursa Za Kubernetes



Ograničenja resursa važan su dio orkestracije Kubernetes spremnika jer osiguravaju da spremnici ne troše previše resursa ili da ne reagiraju zbog iscrpljenosti resursa. Ovaj članak pruža vodič o tome kako postaviti ograničenja resursa spremnika Kubernetes da biste maksimalno iskoristili njihove prednosti i izvukli najviše iz svojih aplikacija. Naučite kako brzo i jednostavno konfigurirati i upravljati svojim resursima spremnika uz samo nekoliko jednostavnih koraka kako biste bili sigurni da sve vaše usluge rade glatko.

Postavite ograničenja resursa spremnika u Kubernetesu

Ograničenja resursa spremnika bitan su element Kubernetesa koji korisnicima omogućuje upravljanje brojem resursa koje spremnik može potrošiti. Kako bi se izbjeglo preopterećenje i zajamčila izvedba aplikacije, ovo je osobito ključno u kontekstu proizvodnje. Evo nekoliko profesionalnih savjeta za postavljanje ograničenja resursa spremnika:







Započnite određivanjem resursa koji su potrebni vašim spremnicima. Analizirajte korištenje vašeg sustava i odredite za koje spremnike treba prilagoditi ograničenja memorije i procesora. Također je važno uzeti u obzir temeljne čvorove kada postavljate ograničenja resursa - ako postavite previsoko ili prenisko ograničenje, čvor možda neće moći pokrenuti druge aplikacije bez rušenja. Zatim odlučite koju vrstu ograničenja želite koristiti – s mogućnošću pucanja ili bez mogućnosti pucanja. Pogledajmo sada potrebne korake koje možete slijediti za postavljanje ograničenja resursa spremnika Kubernetes. Prije nego što krenete prema koracima, postoje neki potrebni preduvjeti:



Preduvjeti

Prije nego što prijeđemo na korake, provjerimo zadovoljava li naš sustav sve potrebe preduvjeta. Provjerite imate li Ubuntu 20.04 ili bilo koju drugu najnoviju verziju kako biste imali Linux/Unix okruženje za rad, Kubernetes klaster, Kubectl CLI za korištenje kubectl naredbi, komunikaciju klastera, upravljanje razvojnim okruženjem i minikube ili bilo koje drugo Kubernetes igralište za stvaranje klasteri. Instalirajte ove alate ako ih još niste instalirali prije nego što prijeđete na sljedeći odjeljak. Sada prelazimo na vodič korak po korak o tome kako postaviti ograničenja resursa spremnika Kubernetes.



Kako postaviti ograničenja resursa Kubernetesa

Postavljanje ograničenja resursa Kubernetes spremnika važan je dio upravljanja i održavanja vaših Kubernetes klastera. Postavljanje odgovarajućeg ograničenja resursa osigurava da svaki spremnik radi optimalno, bez ugrožavanja performansi drugih spremnika ili cijelog klastera. To se može učiniti postavljanjem zahtjeva za resursima i ograničenja za CPU, memoriju, efemernu pohranu i više. Evo kako ispravno postaviti ograničenja resursa Kubernetes spremnika.





Korak 1: Pokrenite Minikube

Minikube klaster mora biti u aktivnom stanju kako biste u njemu mogli pokretati svoje aplikacije ili naredbe. Kako biste bili sigurni da radi ispravno, upotrijebite sljedeću zadanu naredbu:



> pokrenite minikube

Korak 2: Omogućite metrički poslužitelj

U ovom koraku dijelimo naredbu koja vam omogućuje da omogućite poslužitelj metrike. Naredba je dana na sljedeći način:

> minikube dodaci omogućiti metrics-poslužitelj

Korak 3: Provjerite je li metrički poslužitelj aktivan ili ne

Upišite sljedeću naredbu da biste provjerili je li metrički poslužitelj aktivan ili ne:

> kubectl dobiti apiservices

Kao što se vidi na prethodnoj slici, ona sadrži referencu na metrics.k8s.io u slučaju da je API metrike resursa dostupan.

Korak 4: Stvorite imenski prostor

Da biste zadržali resurse, kreirate prostor imena za ovu vježbu koji je odvojen od ostatka vašeg klastera. Sada ćemo pokazati kako stvoriti imenski prostor. Naredba koja se izvodi data je na sljedeći način:

> kubectl stvoriti imenski prostor ABC

Korak 5: Napravite konfiguracijsku datoteku

YAML konfiguracijska datoteka koju koristimo za konstruiranje pod-a u spremniku kreira se u ovom koraku. Evo naredbe koja se koristi za ovo:

> nano reqlimit.yaml

Ovdje morate uključiti CPU zahtjev zajedno s CPU ograničenjem. Uključite resurse: ograničenja za definiranje CPU ograničenja. U ovom slučaju stvara se Pod s jednim spremnikom. Spremnik ima ograničenje zahtjeva od 0,5 CPU-a i najviše 1 CPU. Konfiguracijska datoteka Pod-a dostupna je ovdje. Kao što vidite, odjeljak args konfiguracijske datoteke sadrži argumente koje spremnik koristi kada se pokreće. Spremniku se daje uputa da pokuša iskoristiti 2 CPU-a putem parametra -cpus “2”.

Prilikom stvaranja resursa u Kubernetesu kao što su implementacije i moduli, važno je navesti minimalni broj potrebnih resursa (zahtjev) i maksimalan broj dopuštenih resursa (ograničenje) za svaki modul ili implementaciju. To sprječava da bilo koji pod troši previše resursa što bi moglo uzrokovati da drugi aktivni podovi pate od smanjene izvedbe ili čak pad sustava zbog nedostatka dostupnih resursa u klasteru.

Korak 6: Izradite pod

Sada vam pokazujemo kako izraditi pod sljedećom naredbom:

> kubectl stvoriti -f reqlimit.yaml

Iz prethodnog danog izlaza, možete primijetiti da je stvoren modul pod nazivom 'cpu-demo'.

Korak 7: Provjerite Pod

U ovom koraku sljedećom naredbom provjeravamo je li stvoreni pod aktivan ili ne:

> kubectl dobiti pod CPU-demo --prostor imena =abc

Korak 8: Pregledajte pojedinosti o bloku

Sada, ako želite vidjeti detaljne informacije o Podu, evo naredbe koju treba izvršiti:

> kubectl dobiti pod CPU-demo --izlaz =yaml --prostor imena =abc

Korak 9: Izbrišite pod

Ovdje ćemo pokazati kako izbrisati pod da biste očistili resurse. Naredba koja se koristi u tu svrhu je sljedeća:

> kubectl izbrisati pod cpu-demo --prostor imena =abc

Korak 10: Napravite konfiguracijsku datoteku

U ovom koraku stvaramo konfiguracijsku datoteku. Ova datoteka specificira CPU zahtjev koji je prilično velik za vaše čvorove.

> nano reqlimit2

Konfiguracijska datoteka s jednim spremnikom može se pronaći ovdje. Spremnik traži 100 CPU-a, što je više od bilo kojeg čvora koji vaš klaster može razumno pružiti.

Korak 11: Cre a te Pod

U ovom koraku stvaramo pod sljedećom naredbom:

> kubectl stvoriti -f reqlimit2.yaml

Korak 12: Pregledajte status bloka

Sada možete vidjeti sv a tus mahune s naredbom koja je ovdje priložena:

Izlaz pokazuje da je status jedinice na čekanju.

Korak 13: Pogledajte informacije o kapsuli

Sada ovdje pregledavamo detaljne informacije o Podu uključujući događaje s danom naredbom:

Idite na odjeljak događaja i pogledajte je li spremnik zakazan ili ne.

Ako se ne može zakazati, a razlog je nedovoljno CPU resursa, možete izbrisati čvor. Kako izbrisati čvor objašnjeno je u sljedećem koraku.

Korak 14: Izbrišite čvor

Čvor možete izbrisati sljedećom naredbom:

> kubectl brisanje pod cpu-demo- 2 --prostor imena =abc

Kakav je utjecaj ograničenja resursa spremnika na izvedbu?

Uz sve veću popularnost Kubernetes tehnologije kontejnera, važno je razumjeti kako ograničenja resursa mogu utjecati na performanse. Postavljanje ograničenja resursa unutar Kubernetes spremnika može vam pomoći osigurati da vaše aplikacije rade na svojoj optimalnoj razini i da ne troše previše resursa s glavnog poslužitelja. Ograničavanjem resursa možete izbjeći izgubljene suvišne procese, pomoći u sprječavanju pada sustava zbog iskorištenja i optimizirati performanse vaših spremnika.

Da biste postavili ova ograničenja resursa u Kubernetes spremniku, morate upotrijebiti alat koji se zove cgroups (kontrolne grupe). Cgroups dopuštaju administratorima da ograniče resurse kao što su CPU ciklusi ili korištenje memorije za pojedinačne spremnike. Također možete postaviti druge parametre kao što su maksimalne veličine datoteka ili korištenje propusnosti mreže po spremniku.

Zaključak

Postavljanje ograničenja resursa spremnika Kubernetes ključni je dio upravljanja vašim okruženjem računalstva u oblaku. Uz odgovarajuću konfiguraciju, možete osigurati da svaki spremnik ima pristup resursima koji su mu potrebni, ali ne toliko da to utječe na druge spremnike ili sustave. To omogućuje učinkovitije i isplativije korištenje računalnih resursa. Dodatno, ograničavanjem količine memorije ili CPU-a koji spremnik može potrošiti, možete spriječiti da dođe do prekida rada zbog nestalnih procesa ili neočekivanih skokova u upotrebi.