Middle
Mi a limit és a kérés a Kubernetesben?
sobes.tech MI
Válasz az MI-től
A Kubernetesben a limits és a requests határozza meg a konténerek erőforrás-felhasználását (CPU és memória).
requests: A minimálisan garantált erőforrásmennyiség, amit a konténer megpróbál használni. A Kubernetes ütemezője figyelembe veszi a kéréseket a podok csomópontokra történő elosztásakor, hogy biztosítsa a deklarált erőforrások rendelkezésre állását.limits: A maximális erőforrás-mennyiség, amit a konténer használhat. Ha a konténer megpróbálja túllépni a memóriahatárt, akkor leállítják (OOMKilled). A CPU-határ túllépése korlátozza a teljesítményét, de nem állítja le.
Példa a pod specifikációjában:
# Konténer specifikáció
containers:
- name: my-app
image: my-image
resources:
requests:
memory: "64Mi" # 64 megabájt memória kérés
cpu: "250m" # 0,25 CPU mag kérés (250 millicore)
limits:
memory: "128Mi" # 128 megabájt memória limit
cpu: "500m" # 0,5 CPU mag limit (500 millicore)
Mértékegységek:
- CPU: Millicore (
m). 1000m = 1 mag. - Memória: Byte-ban (B, kB, MB, GB, Ti, Pi...), lehetőleg kettes hatványokat használva (Ki, Mi, Gi, Ti, Pi...).
Jelentőség:
- Tervezés: A requests segít a Kubernetesnek hatékonyan elosztani a podokat a csomópontok között, elkerülve a túlterhelést.
- Stabilitás: A limits megakadályozza, hogy egy pod monopolizálja az erőforrásokat, növelve a klaszter stabilitását.
- Költségkezelés: Lehetővé teszi az erőforrás-felhasználás becslését és ellenőrzését, befolyásolva a felhő költségeit.
Limit és kérés meghatározása nélkül a konténerek korlátlan erőforrásokat kaphatnak, ami magas terhelés esetén instabilitáshoz vezethet a csomópontokban és az egész klaszterben.