Sobes.tech
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.