Ansichten:
Profilanwendbarkeit: Stufe 1
ResourceQuotas sind Einschränkungen, die auf die gesamte Ressourcennutzung für einen gesamten Namespace angewendet werden, wie beispielsweise Begrenzungen der gesamten CPU- und Speichernutzung. Wenn ein Benutzer versucht, ein Pod zu erstellen, das gegen eine LimitRange- oder ResourceQuota-Richtlinie verstößt, schlägt die Pod-Erstellung fehl.

Prüfung

Führen Sie den folgenden Befehl aus und überprüfen Sie die ResourceQuota-Richtlinien:
kubectl get resourcequotas --all-namespaces
Fügen Sie ResourceQuota-Richtlinien hinzu, um die Ressourcennutzung zu begrenzen.

Wiederherstellung

Erstellen Sie eine ResourceQuota-Richtlinie mit Speicher- und CPU-Quota für jedes Namespace.
ResourceQuota-Objekte zur Begrenzung der aggregierten Ressourcennutzung innerhalb eines Namespace werden erstellt, indem eine YAML-Datei auf einen Namespace angewendet oder Anforderungen in der Konfigurationsdatei von Pods angegeben werden. Weitere Informationen finden Sie in der Kubernetes-Dokumentation.
Konfigurationsdatei für einen Namensraum:
apiVersion: v1
kind: ResourceQuota
metadata:
  name: example-cpu-mem-resourcequota
spec:
  hard:
  requests.cpu: “1”
  requests.memory: 1Gi
  limits.cpu: “2”
  limits.memory: 2Gi
Dieses ResourceQuota kann angewendet werden mit:
kubectl apply -f example-cpu-mem-resourcequota.yaml --namespace=<insert-namespace-here>
Dieses ResourceQuota legt die folgenden Einschränkungen für den ausgewählten Namespace fest. Jeder Container muss Folgendes haben:
  • Ein Speicheranforderung, Speicherlimit, CPU-Anforderung und CPU-Limit
  • Die aggregierte Speicheranforderung für alle Container sollte 1 GB nicht überschreiten
  • Das Gesamtspeicherlimit für alle Container sollte 2 GB nicht überschreiten
  • Die aggregierte CPU-Anforderung für alle Container sollte 1 CPU nicht überschreiten
  • Das gesamte CPU-Limit für alle Container sollte 2 CPUs nicht überschreiten