Групове планування
Kubernetes v1.35 [alpha](стандартно вимкнено)Групове планування забезпечує, щоб група Podʼів була запланована з дотриманням принципу "все або нічого". Якщо кластер не може вмістити всю групу (або визначену мінімальну кількість Podʼів), жоден з Podʼів не привʼязується до вузла.
Ця функція залежить від Workload API . Переконайтесь, що увімкнено функціональну можливість GenericWorkload та групу API scheduling.k8s.io/v1alpha1 у кластері.
Як це працює
Коли втулок GangScheduling увімкнено, планувальник змінює життєвий цикл для Podʼів, що належать до gang політики групи Podʼів у межах робочого навантаження. Процес виконується незалежно для кожної групи Podʼів та її ключа репліки:
- Планувальник утримує Podʼи у фазі
PreEnqueue, доки:- Не буде створено обʼєкт Workload, на який є посилання.
- Група Podʼів, на яку є посилання, існує в Workload.
- Кількість Podʼів, створених для конкретної групи, не буде принаймні дорівнювати
minCount.
Podʼи не потрапляють до активної черги планування, доки не будуть виконані всі ці умови.
Після досягнення кворуму планувальник намагається знайти розміщення для всіх Podʼів у групі. Усі призначені Podʼи чекають на воротах
WaitOnPermitпід час цього процесу. Зверніть увагу, що в альфа-фазі цієї функції пошук розміщення базується на плануванні по одному Pod, а не на підході з одним циклом.Якщо планувальник знаходить придатні місця для розміщення щонайменше
minCountподів, він дозволяє всім їм привʼязатися до призначених їм вузлів. Якщо він не може знайти місця для розміщення всієї групи протягом фіксованого часу очікування в 5 хвилин, жоден з подів не планується. Натомість вони переміщуються до черги, що подів які неможливо спланувати на вузли, щоб чекати на звільнення ресурсів кластера, що дозволяє тим часом планувати інші робочі навантаження.
Що далі
- Дізнайтеся про Workload API.
- Дізнайтеся, як посилатися на робоче навантаження у Podʼі.