Legen Sie die Kubernetes-Ressourcenlimits fest

Legen Sie Die Kubernetes Ressourcenlimits Fest



Ressourcenlimits sind ein wichtiger Bestandteil der Kubernetes-Container-Orchestrierung, da sie sicherstellen, dass die Container nicht zu viele Ressourcen verbrauchen oder aufgrund von Ressourcenerschöpfung nicht mehr reagieren. Dieser Artikel enthält eine Anleitung zum Festlegen der Ressourcenlimits für Kubernetes-Container, um ihre Vorteile zu maximieren und das Beste aus Ihren Anwendungen herauszuholen. Erfahren Sie, wie Sie Ihre Container-Ressourcen mit nur wenigen einfachen Schritten schnell und einfach konfigurieren und verwalten, damit Sie sicher sein können, dass alle Ihre Dienste reibungslos laufen.

Legen Sie die Container-Ressourcenlimits in Kubernetes fest

Container-Ressourcenlimits sind ein wesentliches Element von Kubernetes, das es den Benutzern ermöglicht, die Anzahl der Ressourcen zu verwalten, die ein Container verbrauchen kann. Um eine Überlastung zu vermeiden und eine Anwendungsperformance zu gewährleisten, ist dies besonders im Produktionskontext entscheidend. Hier sind einige Profi-Tipps zum Festlegen der Container-Ressourcenlimits:







Beginnen Sie damit, die Ressourcen zu bestimmen, die Ihre Container benötigen. Analysieren Sie die Nutzung Ihres Systems und bestimmen Sie, bei welchen Containern Speicher- und CPU-Limits angepasst werden sollten. Es ist auch wichtig, die zugrunde liegenden Knoten beim Festlegen der Ressourcenlimits zu berücksichtigen – wenn Sie ein zu hohes oder zu niedriges Limit festlegen, kann der Knoten die anderen Anwendungen möglicherweise nicht ohne Absturz ausführen. Entscheiden Sie als Nächstes, welche Art von Limit Sie verwenden möchten – Burstable oder Non-Burstable. Sehen wir uns nun die notwendigen Schritte an, die Sie befolgen können, um die Ressourcenlimits für Kubernetes-Container festzulegen. Bevor Sie sich den Schritten zuwenden, müssen einige Voraussetzungen erfüllt sein:



Voraussetzungen

Bevor wir mit den Schritten fortfahren, stellen wir sicher, dass unser System alle Anforderungen der Voraussetzungen erfüllt. Stellen Sie sicher, dass Sie Ubuntu 20.04 oder eine andere aktuelle Version haben, um eine Linux/Unix-Umgebung zum Arbeiten, Kubernetes-Cluster, Kubectl-CLI zum Verwenden der kubectl-Befehle, Cluster-Kommunikation, Verwalten der Entwicklungsumgebung und Minikube oder einen anderen Kubernetes-Spielplatz zum Erstellen zu haben Cluster. Installieren Sie diese Tools, falls Sie sie noch nicht installiert haben, bevor Sie mit dem nächsten Abschnitt fortfahren. Nun fahren wir mit der Schritt-für-Schritt-Anleitung zum Festlegen der Ressourcenlimits für Kubernetes-Container fort.



So legen Sie die Kubernetes-Ressourcenlimits fest

Das Festlegen der Ressourcenlimits für Kubernetes-Container ist ein wichtiger Bestandteil der Verwaltung und Wartung Ihrer Kubernetes-Cluster. Ein angemessenes Ressourcenlimit stellt sicher, dass jeder Container optimal ausgeführt wird, ohne die Leistung anderer Container oder des gesamten Clusters zu beeinträchtigen. Dies kann durch Festlegen der Ressourcenanforderungen und -limits für CPU, Arbeitsspeicher, flüchtigen Speicher und mehr erfolgen. So legen Sie die Ressourcenlimits für Kubernetes-Container richtig fest.





Schritt 1: Starten Sie den Minikube

Der Minikube-Cluster muss sich in einem aktiven Zustand befinden, damit Sie Ihre Anwendungen oder Befehle darin ausführen können. Um sicherzustellen, dass es ordnungsgemäß funktioniert, verwenden Sie den folgenden angegebenen Befehl:



> minikube start

Schritt 2: Aktivieren Sie den Metrikserver

In diesem Schritt teilen wir den Befehl, mit dem Sie den Metrikserver aktivieren können. Der Befehl wird im Folgenden gegeben:

> Minikube-Addons ermöglichen Metrik-Server

Schritt 3: Überprüfen Sie, ob der Metrics-Server aktiv ist oder nicht

Geben Sie den folgenden Befehl ein, um zu überprüfen, ob der Metrics-Server aktiv ist oder nicht:

> kubectl bekommt apiservices

Wie im vorherigen Bild zu sehen, enthält es einen Verweis auf metrics.k8s.io, falls auf die API für Ressourcenmetriken zugegriffen werden kann.

Schritt 4: Erstellen Sie einen Namespace

Um die Ressourcen beizubehalten, erstellen Sie für diese Übung einen Namespace, der vom Rest Ihres Clusters getrennt ist. Wir demonstrieren nun, wie ein Namespace erstellt wird. Der auszuführende Befehl lautet wie folgt:

> kubectl erstellt Namespace ABC

Schritt 5: Erstellen Sie eine Konfigurationsdatei

In diesem Schritt wird die YAML-Konfigurationsdatei erstellt, die wir zum Erstellen eines Pods im Container verwenden. Hier ist der Befehl, der verwendet wird, um dies zu erreichen:

> nano reqlimit.yaml

Hier müssen Sie eine CPU-Anforderung zusammen mit einem CPU-Limit angeben. Fügen Sie die Ressourcen: Limits hinzu, um ein CPU-Limit zu definieren. In diesem Fall wird ein Pod mit einem einzelnen Container erstellt. Der Container hat ein 0,5-CPU-Anforderungslimit und ein Maximum von 1 CPU. Die Konfigurationsdatei des Pods ist hier verfügbar. Wie Sie sehen können, enthält der Abschnitt args der Konfigurationsdatei die Argumente, die der Container beim Start verwendet. Über den Parameter -cpus „2“ wird der Container angewiesen, zu versuchen, die 2 CPUs zu nutzen.

Beim Erstellen von Ressourcen in Kubernetes wie Deployments und Pods ist es wichtig, die Mindestanzahl erforderlicher Ressourcen (Request) und die maximale Anzahl zulässiger Ressourcen (Limit) für jeden Pod oder Deployment anzugeben. Dadurch wird verhindert, dass ein Pod zu viele Ressourcen verbraucht, was dazu führen könnte, dass die anderen aktiven Pods unter der verringerten Leistung leiden oder aufgrund eines Mangels an verfügbaren Ressourcen im Cluster sogar abstürzen.

Schritt 6: Erstellen Sie einen Pod

Jetzt zeigen wir Ihnen, wie Sie den Pod mit dem folgenden Befehl erstellen:

> kubectl erstellen -f reqlimit.yaml

Aus der zuvor angegebenen Ausgabe können Sie erkennen, dass der Pod mit dem Namen „cpu-demo“ erstellt wird.

Schritt 7: Überprüfen Sie den Pod

In diesem Schritt prüfen wir mit dem folgenden Befehl, ob der erstellte Pod aktiv ist oder nicht:

> kubectl get pod cpu-demo --Namensraum = abc

Schritt 8: Anzeigen der Pod-Details

Wenn Sie nun die detaillierten Informationen über den Pod anzeigen möchten, ist hier der Befehl, der ausgeführt werden sollte:

> kubectl get pod cpu-demo --Ausgang = jaml --Namensraum = abc

Schritt 9: Löschen Sie den Pod

Hier zeigen wir, wie Sie den Pod löschen, um die Ressourcen zu bereinigen. Der zu diesem Zweck verwendete Befehl lautet wie folgt:

> kubectl löschen pod cpu-demo --Namensraum = abc

Schritt 10: Erstellen Sie eine Konfigurationsdatei

In diesem Schritt erstellen wir eine Konfigurationsdatei. Diese Datei gibt eine CPU-Anforderung an, die für Ihre Knoten ziemlich groß ist.

> nano reqlimit2

Die Konfigurationsdatei mit einem einzelnen Container finden Sie hier. Der Container fordert 100 CPUs an, was mehr ist als jeder Knoten, den Ihr Cluster vernünftigerweise bereitstellen kann.

Schritt 11: Cre a te den Pod

In diesem Schritt erstellen wir den Pod mit dem folgenden Befehl:

> kubectl erstellen -f reqlimit2.yaml

Schritt 12: Anzeigen des Pod-Status

Jetzt können Sie die st sehen a tus des Pods mit dem hier angehängten Befehl:

Die Ausgabe zeigt, dass der Pod-Status „Ausstehend“ ist.

Schritt 13: Sehen Sie sich die Pod-Informationen an

Jetzt sehen wir uns die detaillierten Informationen über den Pod einschließlich der Ereignisse mit dem hier angegebenen Befehl an:

Gehen Sie zum Ereignisbereich und sehen Sie, ob der Container geplant ist oder nicht.

Wenn es nicht geplant werden kann und der Grund dafür unzureichende CPU-Ressourcen sind, können Sie den Knoten löschen. Wie Sie einen Knoten löschen, wird im nächsten Schritt erklärt.

Schritt 14: Löschen Sie den Knoten

Sie können den Knoten mit dem folgenden Befehl löschen:

> kubectl Pod löschen cpu-demo- 2 --Namensraum = abc

Welche Auswirkung haben Container-Ressourcenlimits auf die Leistung?

Angesichts der zunehmenden Popularität der Kubernetes-Containertechnologie ist es wichtig zu verstehen, wie sich die Ressourcenbeschränkungen auf die Leistung auswirken können. Durch das Festlegen der Ressourcenlimits in einem Kubernetes-Container können Sie sicherstellen, dass Ihre Anwendungen optimal ausgeführt werden und nicht zu viele Ressourcen vom Hostserver verbrauchen. Durch die Begrenzung der Ressourcen können Sie die Verschwendung redundanter Prozesse vermeiden, Systemabstürze aufgrund von Auslastung verhindern und die Leistung Ihrer Container optimieren.

Um diese Ressourcenlimits in einem Kubernetes-Container festzulegen, müssen Sie ein Tool namens cgroups (Kontrollgruppen) verwenden. Cgroups ermöglichen den Administratoren, die Ressourcen wie CPU-Zyklen oder Speicherverbrauch für einzelne Container zu begrenzen. Sie können auch die anderen Parameter wie maximale Dateigrößen oder die Nutzung der Netzwerkbandbreite pro Container festlegen.

Fazit

Das Festlegen der Ressourcenlimits für Kubernetes-Container ist ein entscheidender Teil der Verwaltung Ihrer Cloud-Computing-Umgebung. Mit der richtigen Konfiguration können Sie sicherstellen, dass jeder Container Zugriff auf die Ressourcen hat, die er benötigt, aber nicht so sehr, dass andere Container oder Systeme beeinträchtigt werden. Dies ermöglicht eine effizientere und kostengünstigere Nutzung von Rechenressourcen. Indem Sie außerdem begrenzen, wie viel Speicher oder CPU ein Container verbrauchen kann, können Sie verhindern, dass Ausfälle aufgrund von außer Kontrolle geratenen Prozessen oder unerwarteten Auslastungsspitzen auftreten.