Middle
Wat zijn limieten en verzoeken in Kubernetes?
sobes.tech AI
Antwoord van AI
Limits (limits) en verzoeken (requests) in Kubernetes bepalen het resourceverbruik (CPU en geheugen) voor containers.
requests: De minimale gegarandeerde hoeveelheid resources die de container probeert te gebruiken. De Kubernetes-planner houdt rekening met de verzoeken bij het verdelen van pods over de knooppunten om de beschikbaarheid van de gedeclareerde resources te waarbohouden.limits: De maximale hoeveelheid resources die de container mag gebruiken. Als de container probeert de geheugenlimiet te overschrijden, wordt hij beëindigd (OOMKilled). Het overschrijden van de CPU-limiet beperkt de prestaties, maar leidt niet tot beëindiging.
Voorbeeld in de specificatie van de pod:
# Specificatie van de container
containers:
- name: my-app
image: my-image
resources:
requests:
memory: "64Mi" # Vraagt 64 megabyte geheugen
cpu: "250m" # Vraagt 0,25 CPU-kern (250 millicore)
limits:
memory: "128Mi" # Limiet van 128 megabyte geheugen
cpu: "500m" # Limiet van 0,5 CPU-kern (500 millicore)
Eenheden van meting:
- CPU: In millicores (
m). 1000m = 1 kern. - Geheugen: In bytes (B, kB, MB, GB, Ti, Pi...), bij voorkeur met machten van twee (Ki, Mi, Gi, Ti, Pi...).
Belang:
- Planning: Requests helpen Kubernetes om pods efficiënt over de knooppunten te verdelen en overbelasting te voorkomen.
- Stabiliteit: Limits voorkomen dat één pod de resources monopoliseert, wat de stabiliteit van de cluster verhoogt.
- Kostenbeheer: Stellen in staat om het resourceverbruik te schatten en te controleren, wat invloed heeft op cloudkosten.
Zonder het definiëren van limits en requests kunnen containers onbeperkte resources krijgen, wat kan leiden tot instabiliteit van knooppunten en de hele cluster bij hoge belasting.