Sobes.tech
Middle

Mis on piirangud ja taotlused Kubernetesis?

sobes.tech AI

Vastus AI-lt

Kubernetes määrab konteinerite ressursskoormuse (CPU ja mälu) kasutamise limits ja requests kaudu.

  • requests: minimaalne garanteeritud ressursside kogus, mida konteiner püüab kasutada. Kubernetes planeerija arvestab taotlusi podide jaotamisel sõlmedel, et tagada nõutavate ressursside kättesaadavus.
  • limits: maksimaalne ressursside kogus, mida konteiner võib kasutada. Kui konteiner üritab ületada mälu limiiti, lõpetatakse see (OOMKilled). Kui CPU limiit ületatakse, piiratakse selle jõudlust, kuid konteinerit ei lõpetata.

Näide podi spetsifikatsioonis:

# Konteineri spetsifikatsioon
containers:
  - name: my-app
    image: my-image
    resources:
      requests:
        memory: "64Mi" # 64 megabaiti mälu taotlus
        cpu: "250m"   # 0.25 CPU tuuma taotlus
      limits:
        memory: "128Mi" # 128 megabaiti mälu limiit
        cpu: "500m"   # 0.5 CPU tuuma limiit

Mõõtühikud:

  • CPU: millijärjed (m). 1000m = 1 tuum.
  • Mälu: baitides (B, kB, MB, GB, Ti, Pi...), eelistatavalt kasutada kaheksakordseid astmeid (Ki, Mi, Gi, Ti, Pi...).

Tähtsus:

  • Planeerimine: Requests aitab Kubernetesil tõhusalt jaotada podid sõlmedel, vältides ülekoormust.
  • Stabiilsus: Limits takistab ressursside monopoliseerimist ühe podi poolt, suurendades klasteri stabiilsust.
  • Kulujuhtimine: võimaldab hinnata ja kontrollida ressursside kasutust, mõjutades pilvekulutusi.

Ilma limiitide ja taotluste määratluseta võivad konteinerid saada piiramatuid ressursse, mis võib põhjustada sõlmede ja kogu klasteri ebastabiilsust suure koormuse korral.