Ressourcenkontingente und Limit Ranges
Verhindern Sie Probleme durch ressourcenintensive Nachbarn und außer Kontrolle geratene Workloads, indem Sie ResourceQuotas auf Namespace-Ebene und LimitRanges pro Pod durchsetzen.
Ressourcenkontingente und Limit Ranges ist eine kostenlose Kubernetes Basics-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kubernetes Basics-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Leitplanken für gemeinsam genutzte Cluster
In einem gemeinsam genutzten Cluster kann ein Team versehentlich alle Ressourcen verbrauchen. ResourceQuotas und LimitRanges dienen als Leitplanken, die für eine faire Verteilung zwischen Namespaces sorgen und Ausfälle verhindern.
Was ist eine ResourceQuota?
Eine ResourceQuota begrenzt die Gesamtressourcen, die ein Namespace verbrauchen darf: CPU, Arbeitsspeicher und die Anzahl von Objekten wie Pods oder Services.
Ein Compute-Kontingent
Dieses Kontingent begrenzt die Summe aller Requests und Limits für sämtliche Pods im Namespace.
apiVersion: v1
kind: ResourceQuota
metadata:
name: team-compute
namespace: team-a
spec:
hard:
requests.cpu: '4'
requests.memory: 8Gi
limits.cpu: '8'
limits.memory: 16GiKontingente für Objektanzahlen
Kontingente können auch begrenzen, wie viele Objekte jedes Typs vorhanden sein dürfen, und so ein unbeabsichtigtes Ausufern verhindern.
spec:
hard:
pods: '20'
services: '5'
persistentvolumeclaims: '10'Die Regel zur Kontingentdurchsetzung
Wenn ein ResourceQuota für Compute-Ressourcen festgelegt ist, muss jeder Pod requests und limits angeben, andernfalls wird er abgelehnt. Das Kontingent kann Pods ohne Obergrenze nicht berücksichtigen.
Kontingentnutzung prüfen
Prüfen Sie jederzeit, wie viel eines Kontingents bereits genutzt wird.
kubectl describe resourcequota team-compute -n team-a
# Resource Used Hard
# requests.cpu 2 4
# requests.memory 3Gi 8GiWas ist ein LimitRange?
Ein LimitRange legt innerhalb eines Namespace Standardwerte und Grenzen pro Objekt fest. Dadurch sind einzelne Pods eingeschränkt, selbst wenn ein Entwickler keine Werte angibt.
Standardwerte und Grenzen
Ein LimitRange kann Standardwerte für requests/limits einsetzen und pro Container Mindest- und Höchstwerte durchsetzen.
apiVersion: v1
kind: LimitRange
metadata:
name: container-limits
namespace: team-a
spec:
limits:
- type: Container
default:
cpu: 500m
memory: 256Mi
defaultRequest:
cpu: 250m
memory: 128Mi
max:
cpu: '2'
memory: 1GiWie sie zusammenspielen
LimitRange ergänzt für jeden Container die Standardwerte; ResourceQuota summiert anschließend alles und vergleicht es mit dem Namespace-Limit. Zusammen sorgen sie sowohl für eine angemessene Größe einzelner Pods als auch für eine faire Gesamtnutzung des Namespace.
Ablehnungen beheben
Wenn ein Pod abgelehnt wird, nennt der Fehler die dafür verantwortliche Richtlinie. Lesen Sie ihn sorgfältig: Er zeigt, ob Sie das Kontingent überschritten oder eine Grenze des LimitRange verletzt haben.
# exceeded quota: team-compute, requested: requests.cpu=2, used: 3, limited: 4
# maximum cpu usage per Container is 2, but limit is 4Tipps für den Produktivbetrieb
- Setzen Sie einen LimitRange, damit vergessene requests das Kontingent nicht beeinträchtigen
- Dimensionieren Sie Kontingente anhand der tatsächlichen Nutzung und lassen Sie Spielraum für Spitzen
- Prüfen Sie die Nutzung regelmäßig und passen Sie die Kontingente an, wenn die Teams wachsen
Kurze Überprüfung
Testen Sie Ihr Verständnis der Schutzmechanismen für Namespaces.
Zusammenfassung
Sie haben gelernt, mit ResourceQuotas (Namespace-weiten Limits für Compute-Ressourcen und Objektanzahlen) und LimitRanges (Standardwerten und Grenzen pro Container) für eine faire Ressourcennutzung zu sorgen. Zusammen verhindern sie Probleme durch einzelne übermäßig ressourcenintensive Nutzer und halten gemeinsam genutzte Cluster stabil – eine zentrale Best Practice für den Produktivbetrieb.
Häufig gestellte Fragen
Ist die Lektion „Ressourcenkontingente und Limit Ranges“ kostenlos?
Ja — der vollständige Text von „Ressourcenkontingente und Limit Ranges“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kubernetes Basics-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kubernetes Basics-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ressourcenkontingente und Limit Ranges“?
Verhindern Sie Probleme durch ressourcenintensive Nachbarn und außer Kontrolle geratene Workloads, indem Sie ResourceQuotas auf Namespace-Ebene und LimitRanges pro Pod durchsetzen. Du übst Kubernetes Basics mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Kubernetes Basics zu starten?
Keine Vorkenntnisse erforderlich. Kubernetes Basics auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Ressourcenkontingente und Limit Ranges“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Kubernetes Basics-Lektion Code schreiben und ausführen?
Ja. Jede Kubernetes Basics-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Häufige Probleme diagnostizieren
- Pods und Services debuggen
- Best Practices und Tipps für die Produktion
- Ressourcenkontingente und Limit Ranges