Витіснення з урахуванням робочого навантаження

СТАН ФУНКЦІОНАЛУ: Kubernetes v1.36 [alpha](стандартно вимкнено)

Витіснення з урахуванням робочого навантаження (Workload-aware preemption) вводить механізм витіснення, спеціально розроблений для PodGroups. Коли PodGroup не може бути запланована, планувальник використовує логіку витіснення, яка намагається зробити можливим планування цієї PodGroup. Цей підхід використовується виключно під час планування PodGroup і замінює стандартний механізм витіснення для подів із зазначеної PodGroup.

Коли ця функція увімкнена, планувальник розглядає PodGroup як єдиний блок витіснення, а не оцінює окремі поди з PodGroup окремо. Щоб звільнити місце для очікуючих подів у групі, він шукає жертви по всьому кластеру і знає, як обробляти та витісняти інші PodGroups як жертви відповідно до їхніх режимів розладу.

Ця функція залежить від Групового планування та Workload API. Переконайтеся, що у кластері увімкнено функціональні можливості GenericWorkload та GangScheduling, а також групу API scheduling.k8s.io/v1alpha2

Як це працює

Процес витіснення з урахуванням робочого навантаження дотримується тих самих принципів, що й стандартне витіснення, з кількома відмінностями:

  1. Домен по всьому кластеру: Замість оцінки витіснення вузол за вузлом, планувальник оцінює весь кластер як єдиний домен. Він обирає набір жертв на кількох вузлах, які можна видалити, щоб звільнити достатньо місця для планування PodGroup.

  2. Ієрархія важливості жертв: Планувальник визначає, які одиниці витіснення (окремі поди або PodGroups) є більш критичними і повинні бути захищені від витіснення, використовуючи сувору ієрархію:

    • Пріоритет: Одиниці з вищим пріоритетом завжди важливіші.
    • Тип робочого навантаження: PodGroups вважаються важливішими за окремі поди з тим самим пріоритетом.
    • Розмір групи (PodGroups): Якщо обидві одиниці є PodGroups, та, що має більше членів (більший розмір), вважається важливішою.
    • Час запуску: Одиниці, які були запущені раніше, є важливішими.
  3. Пріоритет і режим розладу групи подів: Планувальник враховує конкретний пріоритет і режим розладу PodGroup для оцінки того, чи можна витісняти її поди під час подій витіснення.

Примітка:

Під час планування одного пода застосовується стандартне витіснення подів. Починаючи з версії 1.36, коли планувальник виконує стандартне витіснення для одного пода і намагається витіснити под, що належить до PodGroup, він не враховує поля priority або disruptionMode цієї PodGroup.

Що далі

Востаннє змінено July 15, 2026 at 12:45 AM PST: [uk] Ukrainian translation (all-in-one) (193b0d4ea4)