Angi Kubernetes ressursgrenser

Angi Kubernetes ressursgrenser

Ressursgrens. Denne artikkelen gir en guide for hvordan du angir Kubernetes container ressursgrenser for å maksimere fordelene og få mest mulig ut av applikasjonene dine. Lær hvordan du konfigurerer og administrerer containerressursene dine raskt og enkelt med bare noen få enkle trinn, slik at du kan være sikker på at alle tjenestene dine kjører jevnt.

Angi container ressursgrensene i Kubernetes

Container ressursgrenser er et essensielt element i Kubernetes, slik at brukerne kan administrere antall ressurser som en container kan konsumere. For å unngå overbelastning og garantere en applikasjonsytelse, er dette spesielt avgjørende i produksjonssammenhenger. Her er noen Pro -tips for å angi container ressursgrensene:

Begynn med å bestemme ressursene som containerne dine trenger. Analyser systemets bruk og bestem hvilke containere som skal ha minnet og CPU -grensene justert. Det er også viktig å vurdere de underliggende nodene når du setter ressursgrensene - hvis du setter for høy eller for lav begrensning, kan det hende at noden ikke kan kjøre de andre applikasjonene uten å krasje. Deretter bestemmer du hvilken type grense du vil bruke - burstable eller ikke -burstable. La oss nå se de nødvendige trinnene du kan følge for å stille inn Kubernetes container ressursgrenser. Før du drar mot trinnene, er det noen nødvendige forutsetninger:

Forutsetninger

Før vi går videre til trinnene, la oss sørge for at systemet vårt oppfyller alle behovene til forutsetningene. Forsikre deg om at du har Ubuntu 20.04 eller en hvilken som helst annen siste versjon for å ha et Linux/Unix -miljø å jobbe, Kubernetes Cluster, Kubectl CLI for å bruke Kubectl -kommandoer, klyngekommunikasjon, administrere utviklingsmiljøet og Minikube eller noen annen Kubernetes lekeplass for å lage klyngene. Installer disse verktøyene hvis du ikke har installert dem ennå før du fortsetter til neste avsnitt. Nå går vi videre til trinn-for-trinn-guiden for hvordan du angir Kubernetes container ressursgrenser.

Hvordan sette Kubernetes ressursgrenser

Å sette Kubernetes container ressursgrenser er en viktig del av å styre og vedlikeholde Kubernetes -klyngene dine. Å ha en riktig ressursgrense på plass sikrer at hver container kjører optimalt, uten at det går ut over ytelsen til andre containere eller hele klyngen. Dette kan gjøres ved å sette ressursforespørsler og grenser for CPU, minne, flyktige lagring og mer. Slik angir du Kubernetes Container Resource -grensene riktig.

Trinn 1: Start Minikube

Minikube Cluster må være i en aktiv tilstand, slik at du kan kjøre applikasjoner eller kommandoer i den. For å sikre at den er oppe og kjører ordentlig, bruk følgende gitt kommando:

> Minikube Start

Trinn 2: Aktiver Metrics -serveren

I dette trinnet deler vi kommandoen som lar deg aktivere Metrikk -serveren. Kommandoen er gitt i følgende:

> Minikube Addons Aktiver Metrics-Server

Trinn 3: Sjekk om Metrics Server er aktiv eller ikke

Skriv inn følgende kommando for å sjekke om beregningene er aktiv eller ikke:

> Kubectl Få apiservices

Som det ble sett i forrige bilde, inneholder det en referanse til beregninger.K8s.io i tilfelle ressursmålingene API er tilgjengelig.

Trinn 4: Lag et navneområde

For å beholde ressursene, oppretter du et navneområde for denne øvelsen som er atskilt fra resten av klyngen din. Vi demonstrerer nå hvordan vi lager et navneområde. Kommandoen som utfører er gitt som følger:

> Kubectl opprette navneområde ABC

Trinn 5: Opprett en konfigurasjonsfil

YAML -konfigurasjonsfilen som vi bruker for å konstruere en pod i beholderen, opprettes i dette trinnet. Her er kommandoen som brukes til å oppnå dette:

> Nano Reqlimit.Yaml

Her må du ta med en CPU -forespørsel sammen med en CPU -grense. Inkluder ressursene: grenser for å definere en CPU -grense. I dette tilfellet opprettes en pod med en enkelt beholder. Beholderen har en 0.5 CPU -forespørselsgrense og maksimalt 1 CPU. Pods konfigurasjonsfil er tilgjengelig her. Som du kan se, inneholder konfigurasjonsfilens Args -delen argumentene som beholderen bruker når den starter. Beholderen blir bedt om å prøve å bruke 2 CPU -ene via -CPUer “2” -parameteren.

Når du lager ressurser i Kubernetes som distribusjoner og belg, er det viktig å spesifisere minimum antall nødvendige ressurser (forespørsel) og det maksimale antallet ressurser som er tillatt (grense) for hver pod eller distribusjon. Dette forhindrer at en pod konsumerer for mange ressurser som kan føre til at de andre aktive belgene lider av redusert ytelse eller til og med krasj på grunn av mangel på tilgjengelige ressurser på klyngen.

Trinn 6: Lag en pod

Nå viser vi deg hvordan du oppretter poden med følgende kommando:

> KUBECTL CREATE -F REQLIMIT.Yaml

Fra forrige gitte utdata kan du legge merke til at pod som heter “CPU-Demo” er opprettet.

Trinn 7: Bekreft pod

I dette trinnet sjekker vi om den opprettede pod er aktiv eller ikke med følgende kommando:

> KUBECTL Få POD CPU-DEMO --Namespace = ABC

Trinn 8: Se POD -detaljene

Hvis du nå vil se den detaljerte informasjonen om poden, er her kommandoen som bør utføres:

> KUBECTL Få POD CPU-DEMO-Output = YAML --Namespace = ABC

Trinn 9: Slett poden

Her vil vi vise hvordan du sletter poden for å rydde opp i ressursene. Kommandoen som brukes til dette formålet er som følger:

> KUBECTL DELETE POD CPU-DEMO --NAMEPACE = ABC

Trinn 10: Opprett en konfigurasjonsfil

I dette trinnet oppretter vi en konfigurasjonsfil. Denne filen spesifiserer en CPU -forespørsel som er ganske stor for nodene dine.

> Nano Reqlimit2

Konfigurasjonsfilen med en enkelt beholder finner du her. Beholderen ber om 100 CPUer, som er mer enn noen node som klyngen din med rimelighet kan gi.

Trinn 11: Creente poden

I dette trinnet oppretter vi poden med følgende kommando:

> KUBECTL CREATE -F REQLIMIT2.Yaml

Trinn 12: Se POD -statusen

Nå kan du se STenTus av poden med kommandoen som er vedlagt her:

Utgangen viser at POD -statusen venter.

Trinn 13: Se podinformasjonen

Nå ser vi den detaljerte informasjonen om poden inkludert hendelsene med den gitte kommandoen her:

Gå til arrangementsseksjonen og se om beholderen er planlagt eller ikke.

Hvis det ikke kan planlegges og grunnen er utilstrekkelig CPU -ressurser, kan du slette noden. Hvordan du sletter en node blir forklart i neste trinn.

Steg 14: Slett noden

Du kan slette noden med følgende kommando:

> KUBECTL DELETE POD CPU-DEMO-2-NAMEPACE = ABC

Hva er virkningen av container ressursgrenser for ytelsen?

Med den økende populariteten til Kubernetes containerteknologi, er det viktig å forstå hvordan ressursgrensene kan påvirke ytelsen. Å sette ressursgrensene inne i en Kubernetes -beholder kan hjelpe deg med å sikre at applikasjonene dine kjører på sitt optimale nivå, og at de ikke bruker for mange ressurser fra vertsserveren. Ved å begrense ressursene, kan du unngå bortkastede overflødige prosesser, bidra til å forhindre at systemet krasjer på grunn av utnyttelse og optimaliserer ytelsen til containerne.

For å angi disse ressursgrensene i en Kubernetes -beholder, må du bruke et verktøy som heter CGroups (kontrollgrupper). CGroups lar administratorene begrense ressursene som CPU -sykluser eller minnebruk for individuelle containere. Du kan også angi de andre parametrene som maksimale filstørrelser eller nettverksbåndbreddebruk per container.

Konklusjon

Å sette Kubernetes container ressursgrenser er en avgjørende del av å administrere cloud computing -miljøet. Med riktig konfigurasjon kan du sikre at hver beholder har tilgang til ressursene den trenger, men ikke så mye at den påvirker andre containere eller systemer. Dette gir mer effektiv og kostnadseffektiv bruk av databehandlingsressurser. I tillegg, ved å begrense hvor mye minne eller CPU en container kan konsumere, kan du forhindre at strømbruddene oppstår på grunn av løpsprosesser eller uventede pigger i bruken.