TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2800 1.07K
💻 QoS-классы в Kubernetes: как определяется приоритет подов

Каждый под в кластере получает класс качества обслуживания — QoS class.
kubelet вычисляет его сам, исходя из того, как в поде описаны requests и limits.

QoS-класс влияет на приоритет вытеснения подов при нехватке памяти на ноде.

👑 Guaranteed

Самый высокий приоритет.

— У каждого контейнера в поде заданы requests и limits для CPU и памяти
— Для каждого ресурса requests равны limits
— Правило распространяется и на init-контейнеры


resources:
requests:
cpu: "1"
memory: "1Gi"
limits:
cpu: "1"
memory: "1Gi"


Такие поды вытесняются последними и получают oom_score_adj: -997 — ядро убивает их процессы в самую последнюю очередь.

Подходит для БД, брокеров очередей и всего, что нельзя терять при скачке нагрузки на соседей.

🥈 Burstable

Промежуточный класс.

Хотя бы у одного контейнера должен быть задан request или limit по CPU или памяти, но до критериев Guaranteed под не дотягивает.


resources:
requests:
cpu: "200m"
memory: "256Mi"
limits:
memory: "1Gi"


Под может забирать ресурсы сверх requests, пока они свободны на ноде. Но при нехватке памяти он попадает под вытеснение раньше Guaranteed. Внутри класса порядок тоже не случайный: первыми уходят поды, которые потребляют больше, чем запросили.

Самый частый класс в реальных кластерах и разумный выбор по умолчанию для stateless-приложений.

🎭 BestEffort

Ни у одного контейнера в поде не указано ни одного request или limit.


# resources не задан вовсе


Такой под планируется куда угодно и потребляет всё, до чего дотянется. При нехватке памяти на ноде он уходит первым, а его oom_score_adj равен 1000 — максимальный приоритет для OOM Killer.

Годится для разовых задач, где потеря пода ничего не стоит, и категорически не годится для продакшн-сервисов.

➡️ Важные нюансы

— QoS-класс вычисляется один раз при создании пода и меняется только вместе с пересозданием
— Классы влияют на вытеснение по памяти; CPU при превышении лимита не убивает под, а троттлит его
— Guaranteed не защищает от аппаратного сбоя ноды и от вытеснения по нехватке места на диске
— Один контейнер без resources внутри многоконтейнерного пода опускает весь под до Burstable

#заметкиИнженера
  • 👍 6
  • ❤ 3
  • 🔥 3
More from @cortel_cloud
  1. Sep 25, 2026😎 Когнитивная РАЗгрузка За неделю с горящими дедлайнами, часовыми ВКС и постоянным перекл…
  2. Sep 23, 2026💻 kubectl diff: обработка изменений в CI/CD kubectl diff сравнивает текущую конфигурацию…
  3. Sep 18, 2026🛡 ДА! У НАС ЦЕЛАЯ ЧЕРЕДА ПОЛЕЗНЫХ ЭФИРОВ ПРО ИБ! 🎙 Уже 24 сентября Вероника Нечаева, выс…
  4. Sep 16, 2026👩‍💻 Работа с ПДн это непрерывный процесс. Компания меняется — появляются новые сервисы,…
  5. Sep 15, 2026🔎 Зачем нужен аудит ПДн? Даже выстроенный процесс со временем может накапливать ошибки и…
  6. Sep 8, 2026📹 ВЕБИНАР: Аудит процессов обработки ПДн 📆 17 сентября в 11:00 по Мск встречаемся в эфир…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →