Stel de Kubernetes-resourcelimieten in

Stel De Kubernetes Resourcelimieten In



Resourcelimieten zijn een belangrijk onderdeel van Kubernetes-containerorkestratie, omdat ze ervoor zorgen dat de containers niet te veel resources verbruiken of niet meer reageren vanwege uitputting van resources. Dit artikel bevat een handleiding voor het instellen van de Kubernetes-containerresourcelimieten om de voordelen ervan te maximaliseren en het meeste uit uw applicaties te halen. Leer hoe u uw containerresources snel en eenvoudig kunt configureren en beheren met slechts een paar eenvoudige stappen, zodat u er zeker van kunt zijn dat al uw services soepel werken.

Stel de containerresourcelimieten in Kubernetes in

Containerresourcelimieten zijn een essentieel onderdeel van Kubernetes, waardoor gebruikers het aantal resources kunnen beheren dat een container kan verbruiken. Om overbelasting te voorkomen en de prestaties van een applicatie te garanderen, is dit met name cruciaal in productiecontexten. Hier zijn enkele pro-tips om de containerresourcelimieten in te stellen:







Begin met het bepalen van de resources die uw containers nodig hebben. Analyseer het gebruik van uw systeem en bepaal van welke containers hun geheugen- en CPU-limieten moeten worden aangepast. Het is ook belangrijk om rekening te houden met de onderliggende knooppunten bij het instellen van de resourcelimieten. Als u een te hoge of te lage limiet instelt, kan het knooppunt de andere applicaties mogelijk niet uitvoeren zonder te crashen. Bepaal vervolgens welk type limiet u wilt gebruiken: burstable of non-burstable. Laten we nu eens kijken welke stappen u kunt volgen om de Kubernetes-containerresourcelimieten in te stellen. Voordat u naar de stappen gaat, zijn er enkele noodzakelijke voorwaarden:



Vereisten

Voordat we verder gaan met de stappen, moeten we ervoor zorgen dat ons systeem aan alle vereisten voldoet. Zorg ervoor dat u Ubuntu 20.04 of een andere nieuwste versie hebt om een ​​Linux/Unix-omgeving te laten werken, Kubernetes-cluster, Kubectl CLI om de kubectl-opdrachten te gebruiken, clustercommunicatie, beheer van de ontwikkelomgeving en minikube of een andere Kubernetes-speeltuin om de clusters. Installeer deze hulpprogramma's als u ze nog niet hebt geïnstalleerd voordat u doorgaat naar de volgende sectie. Nu gaan we verder met de stapsgewijze handleiding voor het instellen van de Kubernetes-containerresourcelimieten.



Hoe de Kubernetes-resourcelimieten in te stellen

Het instellen van de Kubernetes-containerresourcelimieten is een belangrijk onderdeel van het beheren en onderhouden van uw Kubernetes-clusters. Het hebben van een juiste resourcelimiet zorgt ervoor dat elke container optimaal werkt, zonder de prestaties van andere containers of het hele cluster in gevaar te brengen. Dit kan worden gedaan door de resourceverzoeken en limieten voor CPU, geheugen, kortstondige opslag en meer in te stellen. Hier leest u hoe u de Kubernetes-containerresourcelimieten correct instelt.





Stap 1: Start de Minikube

Minikube-cluster moet actief zijn, zodat u uw toepassingen of opdrachten erin kunt uitvoeren. Om ervoor te zorgen dat het correct werkt, gebruikt u de volgende gegeven opdracht:



> start minikube

Stap 2: schakel de Metrics-server in

In deze stap delen we de opdracht waarmee u de metrische server kunt inschakelen. De opdracht wordt als volgt gegeven:

> minikube-add-ons inschakelen metrische server

Stap 3: Controleer of de Metrics-server actief is of niet

Typ de volgende opdracht om te controleren of de metrics-server actief is of niet:

> kubectl krijgt apiservices

Zoals te zien is in de vorige afbeelding, bevat deze een verwijzing naar metrics.k8s.io voor het geval de resource metrics API toegankelijk is.

Stap 4: Maak een naamruimte

Om de bronnen te behouden, maakt u voor deze oefening een naamruimte die gescheiden is van de rest van uw cluster. We laten nu zien hoe u een naamruimte maakt. De opdracht die wordt uitgevoerd, wordt als volgt gegeven:

> kubectl maak naamruimte ABC

Stap 5: maak een configuratiebestand aan

In deze stap wordt het YAML-configuratiebestand gemaakt dat we gebruiken om een ​​pod in de container te bouwen. Hier is de opdracht die wordt gebruikt om dit te bereiken:

> nano reqlimit.yaml

Hier moet u een CPU-verzoek opnemen samen met een CPU-limiet. Voeg de resources:limits toe om een ​​CPU-limiet te definiëren. In dit geval wordt een pod met een enkele container gemaakt. De container heeft een verzoeklimiet van 0,5 CPU en een maximum van 1 CPU. Het configuratiebestand van de Pod is hier beschikbaar. Zoals u kunt zien, bevat de sectie args van het configuratiebestand de argumenten die de container gebruikt wanneer deze start. De container krijgt de opdracht om te proberen de 2 CPU's te gebruiken via de parameter -cpus '2'.

Bij het maken van bronnen in Kubernetes, zoals implementaties en pods, is het belangrijk om het minimale aantal vereiste bronnen (verzoek) en het maximale aantal toegestane bronnen (limiet) voor elke pod of implementatie op te geven. Dit voorkomt dat één pod te veel bronnen verbruikt, waardoor de andere actieve pods kunnen lijden onder verminderde prestaties of zelfs kunnen crashen vanwege een gebrek aan beschikbare bronnen op het cluster.

Stap 6: maak een pod aan

Nu laten we u zien hoe u de pod kunt maken met de volgende opdracht:

> kubectl maken -f reqlimit.yaml

Uit de eerder gegeven uitvoer kunt u zien dat de pod met de naam 'cpu-demo' is gemaakt.

Stap 7: Controleer de pod

In deze stap controleren we of de gemaakte pod actief is of niet met de volgende opdracht:

> kubectl krijgt pod cpu-demo --naamruimte =abc

Stap 8: bekijk de Pod-details

Als u nu de gedetailleerde informatie over de pod wilt bekijken, is hier de opdracht die moet worden uitgevoerd:

> kubectl krijgt pod cpu-demo --uitvoer =yaml --naamruimte =abc

Stap 9: verwijder de pod

Hier laten we zien hoe u de pod kunt verwijderen om de bronnen op te schonen. De opdracht die hiervoor wordt gebruikt is als volgt:

> kubectl delete pod cpu-demo --naamruimte =abc

Stap 10: maak een configuratiebestand aan

In deze stap maken we een configuratiebestand. Dit bestand specificeert een CPU-verzoek dat vrij groot is voor uw knooppunten.

> nano vereistelimiet2

Het configuratiebestand met een enkele container vindt u hier. De container vraagt ​​om 100 CPU's, wat meer is dan welk knooppunt dan ook dat uw cluster redelijkerwijs kan bieden.

Stap 11: cre a te de Pod

In deze stap maken we de pod met de volgende opdracht:

> kubectl maken -f reqlimit2.yaml

Stap 12: Bekijk de Pod-status

Nu kun je de st a tus van de pod met de opdracht die hier is bijgevoegd:

De uitvoer geeft aan dat de Pod-status In behandeling is.

Stap 13: Zie de Pod-informatie

Nu bekijken we hier de gedetailleerde informatie over de pod, inclusief de gebeurtenissen met het gegeven commando:

Ga naar het evenementengedeelte en kijk of de container is gepland of niet.

Als het niet kan worden gepland en de reden onvoldoende CPU-bronnen is, kunt u het knooppunt verwijderen. Hoe u een knooppunt verwijdert, wordt in de volgende stap uitgelegd.

Stap 14: verwijder het knooppunt

U kunt het knooppunt verwijderen met de volgende opdracht:

> kubectl delete pod cpu-demo- 2 --naamruimte =abc

Wat is de impact van containerresourcelimieten op de prestaties?

Met de toenemende populariteit van Kubernetes-containertechnologie is het belangrijk om te begrijpen hoe de resourcelimieten de prestaties kunnen beïnvloeden. Door de resourcelimieten in een Kubernetes-container in te stellen, kunt u ervoor zorgen dat uw applicaties op het optimale niveau werken en dat ze niet te veel resources van de hostserver verbruiken. Door de resources te beperken, kunt u overbodige processen voorkomen, systeemcrashes als gevolg van gebruik helpen voorkomen en de prestaties van uw containers optimaliseren.

Om deze resourcelimieten in een Kubernetes-container in te stellen, moet u een tool genaamd cgroups (stuurgroepen) gebruiken. Met Cgroups kunnen de beheerders de bronnen beperken, zoals CPU-cycli of geheugengebruik voor individuele containers. U kunt ook de andere parameters instellen, zoals maximale bestandsgroottes of netwerkbandbreedtegebruik per container.

Gevolgtrekking

Het instellen van de Kubernetes-containerresourcelimieten is een cruciaal onderdeel van het beheer van uw cloud computing-omgeving. Met de juiste configuratie kunt u ervoor zorgen dat elke container toegang heeft tot de resources die hij nodig heeft, maar niet zozeer dat het andere containers of systemen beïnvloedt. Dit zorgt voor een efficiënter en kosteneffectiever gebruik van computerbronnen. Door de hoeveelheid geheugen of CPU die een container kan verbruiken te beperken, kunt u bovendien voorkomen dat storingen optreden als gevolg van op hol geslagen processen of onverwachte pieken in het gebruik.