Инструменты пользователя

Инструменты сайта


k8s:use

Это старая версия документа!


Содержание

Resources

Есть два типа ресурсов: память и проц
Есть два типа параметров: «Requests» и «Limit». Первое это требования для планировщика к нодам размещения, второе это жесткое ограничение для контейнера

В политике работы с ресурсами, поды делятся на три класса:

  • «Guaranteed» (гарантированный) - заданы оба параметра и равны (request и limits), наиболее приоритетный для планировщика, при дефиците трогается самый последний
  • «Burstable» (взрывоопасный) - второй по приоритету, является таким если не задан кто то или пар-ры не равны
  • «Best-effort» (максимально эффективный) - если не установлено то и другое
resources:
  limits:
    cpu: "2"
    memory: 2Gi
  requests:
    cpu: "2"
    memory: 2Gi

Memory

С точки зрения кибера, ограничения по памяти считаются «несжимаемыми», поэтому при превышении троттлинг невозможен и ядро будет агрессивно очищать кэш страниц и может быть вызван «OOM killer»

CPU

Единица подразумевает один процессорное ядро предоставляемое ОС (вне зависимости физическое оно или виртуальное)

В отличии от памяти является «сжимаемым» ограничением, поэтому при превышении начинается «CPU Throttling» - снижение частоты процессора и сл-но снижение производительности

На самом деле указывается лишь время использования процессора (CPU time) на всех доступных ядрах ноды, под будет использовать все доступные на ноде ядра, в пределах указанного времени использования

Например на ноде 8 ядер, если в лимите указать 4 то контейнер будет использовать эквивалент 4х ядер на всех 8ми, топишь в данном случае 50%

Варианты указания (эквивалент целого ядра и два варианта по половине)

resources:
  limits:
    cpu: "1"
---
resources:
  limits:
    cpu: "0.5"
---
resources:
  limits:
    cpu: "500m"
k8s/use.1725169881.txt.gz · Последнее изменение: 2024/09/01 05:51 — admin