Kubernetes - Resources Requirement & Limits
Alasta 17 Août 2024 kubernetes kubernetes limit quota
Description : Kubernetes, resources limits & quota
Kubernetes - Resources Request / Limit
Les Requests et Limits permettent de gérer les ressources CPU/Mémoire d’un container.
La partie Request est ce qui est demandé au minimum au système, garantie par K8s.
La partie Limit est le max de ressources du container
Ici on voit un pod avec 2 containers avec chacun ses limites de ressources.
Comportement CPU/mémoire :
Si le CPU veut dépasser le max, il y a du throttling. Si la mémoire veut dépasser, le container passera en terminate via OOM killer.
No request/no limit: le container peut consommer toute la CPU du node*.
No request/set limit: la request = la limit.
Set request/set limit: application des valeurs.
Set request/no limit: la CPU peut consommer toutes les resources du node*.
On peut avoir des infos dans le describe du pod:
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: OOMKilled
Limit range:
La limite de range s’applique à un namespace et qu’à l’admission d’un pod (nouveau), pas à de l’existant.
Si plusieurs LimitRange sont appliquées sur un même objet dans un namespace, il n’y a pas d’état deterministe.
Pour le min/max, un pod ne pourra pas avoir plus petite/grande que ces valeurs.
Resource Quota
Niveau Namespace, limite la somme des ressources des pods.