Indstil Kubernetes-ressourcegrænserne

Indstil Kubernetes Ressourcegraenserne



Ressourcegrænser er en vigtig del af Kubernetes containerorkestrering, da de sikrer, at containerne ikke forbruger for mange ressourcer eller bliver uresponsive på grund af ressourceudmattelse. Denne artikel giver en guide til, hvordan du indstiller Kubernetes-beholderressourcegrænserne for at maksimere deres fordele og få mest muligt ud af dine applikationer. Lær, hvordan du konfigurerer og administrerer dine containerressourcer hurtigt og nemt med nogle få enkle trin, så du kan være sikker på, at alle dine tjenester kører problemfrit.

Indstil containerressourcegrænserne i Kubernetes

Containerressourcebegrænsninger er et væsentligt element i Kubernetes, som giver brugerne mulighed for at administrere antallet af ressourcer, som en container kan forbruge. For at undgå overbelastning og garantere en applikationsydelse er dette særligt afgørende i produktionssammenhænge. Her er nogle pro-tip til at indstille containerressourcegrænserne:







Start med at bestemme de ressourcer, som dine containere har brug for. Analyser dit systems brug og afgør, hvilke containere der skal justere deres hukommelse og CPU-grænser. Det er også vigtigt at overveje de underliggende noder, når du indstiller ressourcegrænserne - hvis du indstiller for høj eller for lav grænse, kan noden muligvis ikke køre de andre applikationer uden at gå ned. Derefter skal du beslutte, hvilken type grænse du vil bruge – burstable eller non-burstable. Lad os nu se de nødvendige trin, som du kan følge for at indstille Kubernetes-beholderressourcegrænserne. Før du går mod trinene, er der nogle nødvendige forudsætninger:



Forudsætninger

Inden vi går videre til trinene, så lad os sikre os, at vores system opfylder alle forudsætningernes behov. Sørg for, at du har Ubuntu 20.04 eller en anden nyeste version for at have et Linux/Unix-miljø til at fungere, Kubernetes-klynge, Kubectl CLI til at bruge kubectl-kommandoer, klyngekommunikation, administrere udviklingsmiljøet og minikube eller enhver anden Kubernetes-legeplads til at skabe klynger. Installer disse værktøjer, hvis du ikke har installeret dem endnu, før du fortsætter til næste afsnit. Nu går vi videre til den trinvise vejledning om, hvordan du indstiller Kubernetes-beholderressourcegrænserne.



Sådan indstilles Kubernetes-ressourcegrænserne

Indstilling af Kubernetes-beholderressourcegrænserne er en vigtig del af styring og vedligeholdelse af dine Kubernetes-klynger. At have en ordentlig ressourcebegrænsning på plads sikrer, at hver container kører optimalt uden at kompromittere ydeevnen af ​​andre containere eller hele klyngen. Dette kan gøres ved at indstille ressourceanmodninger og grænser for CPU, hukommelse, kortvarig lagring og mere. Sådan indstiller du Kubernetes-beholderressourcegrænserne korrekt.





Trin 1: Start Minikube

Minikube-klyngen skal være i en aktiv tilstand, så du kan køre dine applikationer eller kommandoer i den. For at sikre, at den kører korrekt, skal du bruge følgende givne kommando:



> start minikube

Trin 2: Aktiver Metrics Server

I dette trin deler vi kommandoen, der lader dig aktivere metrics-serveren. Kommandoen er givet i følgende:

> minikube tilføjelser aktivere metrics-server

Trin 3: Tjek, om Metric Server er aktiv eller ej

Skriv følgende kommando for at kontrollere, om metrics-serveren er aktiv eller ej:

> kubectl få apiservices

Som det ses i det forrige billede, indeholder det en reference til metrics.k8s.io i tilfælde af, at ressourcemetrics API er tilgængelig.

Trin 4: Opret et navneområde

For at beholde ressourcerne opretter du et navneområde til denne øvelse, som er adskilt fra resten af ​​din klynge. Vi demonstrerer nu, hvordan man opretter et navneområde. Kommandoen, der udfører, gives som følger:

> kubectl oprette navneområde ABC

Trin 5: Opret en konfigurationsfil

YAML-konfigurationsfilen, som vi bruger til at konstruere en pod i containeren, oprettes i dette trin. Her er kommandoen, der bruges til at udføre dette:

> nano reqlimit.yaml

Her skal du inkludere en CPU-anmodning sammen med en CPU-grænse. Inkluder ressourcerne:grænser for at definere en CPU-grænse. I dette tilfælde oprettes en Pod med en enkelt beholder. Containeren har en grænse på 0,5 CPU-anmodninger og en maksimumgrænse på 1 CPU. Pod'ens konfigurationsfil er tilgængelig her. Som du kan se, indeholder konfigurationsfilens args-sektion de argumenter, som containeren bruger, når den starter. Containeren bliver bedt om at forsøge at bruge de 2 CPU'er via parameteren -cpus '2'.

Når du opretter ressourcer i Kubernetes, såsom implementeringer og pods, er det vigtigt at angive det mindste antal nødvendige ressourcer (anmodning) og det maksimale antal tilladte ressourcer (grænse) for hver pod eller implementering. Dette forhindrer en pod i at forbruge for mange ressourcer, hvilket kan få de andre aktive pods til at lide under den nedsatte ydeevne eller endda gå ned på grund af mangel på tilgængelige ressourcer i klyngen.

Trin 6: Opret en pod

Nu viser vi dig, hvordan du opretter poden med følgende kommando:

> kubectl oprette -f reqlimit.yaml

Fra det tidligere givne output kan du bemærke, at poden med navnet 'cpu-demo' er oprettet.

Trin 7: Bekræft poden

I dette trin kontrollerer vi, om den oprettede pod er aktiv eller ej med følgende kommando:

> kubectl få pod cpu-demo --navneområde =abc

Trin 8: Se Pod-detaljerne

Hvis du nu vil se den detaljerede information om Pod'en, er her kommandoen, der skal udføres:

> kubectl få pod cpu-demo --produktion =jaml --navneområde =abc

Trin 9: Slet Pod'en

Her vil vi vise, hvordan du sletter poden for at rydde op i ressourcerne. Kommandoen, der bruges til dette formål, er som følger:

> kubectl slet pod cpu-demo --navneområde =abc

Trin 10: Opret en konfigurationsfil

I dette trin opretter vi en konfigurationsfil. Denne fil specificerer en CPU-anmodning, der er ret stor for dine noder.

> nano kravgrænse2

Konfigurationsfilen med en enkelt container kan findes her. Containeren beder om 100 CPU'er, hvilket er mere end nogen Node, som din klynge med rimelighed kan levere.

Trin 11: Cre -en til Pod'en

I dette trin opretter vi poden med følgende kommando:

> kubectl oprette -f reqlimit2.yaml

Trin 12: Se podstatus

Nu kan du se st -en tus af poden med kommandoen, der er vedhæftet her:

Outputtet viser, at Pod-status er Ventende.

Trin 13: Se Pod-oplysningerne

Nu ser vi den detaljerede information om Pod'en, herunder begivenhederne med den givne kommando her:

Gå til begivenhedssektionen og se, om containeren er planlagt eller ej.

Hvis det ikke kan planlægges, og årsagen er utilstrækkelige CPU-ressourcer, kan du slette noden. Hvordan man sletter en node er forklaret i næste trin.

Trin 14: Slet noden

Du kan slette noden med følgende kommando:

> kubectl slet pod cpu-demo- 2 --navneområde =abc

Hvad er effekten af ​​containerressourcebegrænsninger på ydeevnen?

Med den stigende popularitet af Kubernetes containerteknologi er det vigtigt at forstå, hvordan ressourcegrænserne kan påvirke ydeevnen. Indstilling af ressourcegrænserne inde i en Kubernetes-beholder kan hjælpe dig med at sikre, at dine applikationer kører på deres optimale niveau, og at de ikke bruger for mange ressourcer fra værtsserveren. Ved at begrænse ressourcerne kan du undgå de spildte redundante processer, hjælpe med at forhindre systemnedbrud på grund af udnyttelse og optimere ydeevnen af ​​dine containere.

For at indstille disse ressourcegrænser i en Kubernetes-beholder skal du bruge et værktøj kaldet cgroups (kontrolgrupper). Cgroups giver administratorerne mulighed for at begrænse ressourcerne såsom CPU-cyklusser eller hukommelsesbrug for individuelle containere. Du kan også indstille de andre parametre såsom maksimale filstørrelser eller netværksbåndbreddeforbrug pr. container.

Konklusion

Indstilling af Kubernetes containerressourcegrænser er en afgørende del af administrationen af ​​dit cloud computing-miljø. Med den korrekte konfiguration kan du sikre, at hver container har adgang til de ressourcer, den har brug for, men ikke så meget, at den påvirker andre containere eller systemer. Dette giver mulighed for mere effektiv og omkostningseffektiv brug af computerressourcer. Derudover kan du ved at begrænse, hvor meget hukommelse eller CPU en container kan forbruge, forhindre udfaldene i at opstå på grund af løbske processer eller uventede stigninger i brugen.