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