# Керування навантаженням

LLMS index: [llms.txt](/llms.txt)

---

Kubernetes надає кілька вбудованих API для декларативного керування вашими <a class='glossary-tooltip' title='Робоче навантаження є застосунком, який запущено в Kubernetes.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/concepts/workloads/' target='_blank' aria-label='робочими навантаженнями'>робочими навантаженнями</a> та їх компонентами.

У кінцевому підсумку ваші застосунки працюють як контейнери всередині <a class='glossary-tooltip' title='Pod є групою контейнерів, що запущені у вашому кластері.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/concepts/workloads/pods/' target='_blank' aria-label='Podʼів'>Podʼів</a>; однак керувати окремими Podʼами вимагало б багато зусиль. Наприклад, якщо Pod зазнає збою, ви, ймовірно, захочете запустити новий Pod для його заміни. Kubernetes може зробити це за вас.

Ви використовуєте API Kubernetes для створення робочого <a class='glossary-tooltip' title='Сутність у системі Kubernetes, що представляє частину стану вашого кластера.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/concepts/overview/working-with-objects/#kubernetes-objects' target='_blank' aria-label='обʼєкта'>обʼєкта</a>, який представляє вищий рівень абстракції, ніж Pod, а потім Kubernetes <a class='glossary-tooltip' title='Шар оркестрування контейнерів, який надає API та інтерфейси для виявлення, розгортання та управління життєвим циклом контейнерів.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/reference/glossary/?all=true#term-control-plane' target='_blank' aria-label='control plane'>control plane</a> автоматично керує обʼєктами Pod від вашого імені, відповідно до специфікації обʼєкта робочого навантаження, яку ви визначили.

Вбудовані API для керування робочими навантаженнями:

[Deployment](/docs/concepts/workloads/controllers/deployment/) (і, опосередковано, [ReplicaSet](/docs/concepts/workloads/controllers/replicaset/)), найпоширеніший спосіб запуску застосунку у вашому кластері. Deployment є хорошим вибором для керування робочим навантаженням, яке не зберігає стану, де будь-який Pod у Deployment може бути замінений, якщо це потрібно. (Deployments є заміною застарілого API <a class='glossary-tooltip' title='Обʼєкт API (застарілий), який керує реплікованим застосунком.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/reference/glossary/?all=true#term-replication-controller' target='_blank' aria-label='ReplicationController'>ReplicationController</a>).

[StatefulSet](/docs/concepts/workloads/controllers/statefulset/) дозволяє вам керувати одним або кількома Podʼами, які виконують один і той же код застосунку, де Podʼи мають унікальну ідентичність. Це відрізняється від Deployment, де очікується, що Podʼи будуть взаємозамінними. Найпоширеніше використання StatefulSet полягає в тому, щоб забезпечити звʼязок між Podʼами та їх постійним сховищем. Наприклад, ви можете запустити StatefulSet, який асоціює кожен Pod з [PersistentVolume](/docs/concepts/storage/persistent-volumes/). Якщо один з Podʼів у StatefulSet зазнає збою, Kubernetes створює новий Pod, який підключений до того ж PersistentVolume.

[DaemonSet](/docs/concepts/workloads/controllers/daemonset/) визначає Podʼи, які надають можливості, що є локальними для конкретного <a class='glossary-tooltip' title='Вузол — це робоча машина в Kubernetes.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/concepts/architecture/nodes/' target='_blank' aria-label='вузла'>вузла</a>; наприклад, драйвер, який дозволяє контейнерам на цьому вузлі отримувати доступ до системи сховища. Ви використовуєте DaemonSet, коли драйвер або інша служба рівня вузла має працювати на вузлі, де вона корисна. Кожен Pod в DaemonSet виконує роль, схожу на системний демон на класичному сервері Unix/POSIX. DaemonSet може бути фундаментальним для роботи вашого кластера, наприклад, як втулок [мережі кластера](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-network-model), він може допомогти вам керувати вузлом, або надати додаткову поведінку, яка розширює платформу контейнерів, яку ви використовуєте. Ви можете запускати DaemonSet (і їхні Podʼи) на кожному вузлі вашого кластера, або лише на підмножині (наприклад, встановити драйвер прискорювача GPU лише на вузлах, де встановлено GPU).

Ви можете використовувати [Job](/docs/concepts/workloads/controllers/job/) та/або [CronJob](/docs/concepts/workloads/controllers/cron-jobs/) для визначення завдань, які виконуються до завершення та зупиняються. Job представляє одноразове завдання, тоді як кожен CronJob повторюється згідно з розкладом.

Інші теми в цьому розділі:

<!-- relies on simple_list: true in the front matter -->

---

Section pages:

- [Deployment](/uk/docs/concepts/workloads/controllers/deployment/): Deployment керує набором екземплярів Podʼів та їх робочими навантаженнями, як правило, тими, що не зберігають стан.
- [ReplicaSet](/uk/docs/concepts/workloads/controllers/replicaset/): Призначення ReplicaSet полягає в забезпеченні стабільного набору реплік Podʼів, які працюють у будь-який момент часу. Зазвичай ви визначаєте Deployment та дозволяєте цьому Deployment автоматично керувати ReplicaSets.
- [StatefulSets](/uk/docs/concepts/workloads/controllers/statefulset/): StatefulSet — це обʼєкт робочого навантаження API, який використовується для управління застосунками зі збереженням стану. Він запускає групу Podʼів і зберігає стійку ідентичність для кожного з цих Podʼів. Це корисно для керування застосунками, які потребують постійного сховища або стабільної, унікальної мережевої ідентичності.
- [DaemonSet](/uk/docs/concepts/workloads/controllers/daemonset/): DaemonSet визначає Podʼи, які надають локальні обʼєкти вузлів. Вони можуть бути фундаментальними для роботи вашого кластера, наприклад, допоміжним інструментом для роботи з мережею, або бути частиною надбудови.
- [Job](/uk/docs/concepts/workloads/controllers/job/): Job – є одноразовим завданням, що виконується до моменту його завершення.
- [Автоматичне очищення завершених задач](/uk/docs/concepts/workloads/controllers/ttlafterfinished/): Механізм визначення часу життя для автоматичного очищення старих задач, які завершили виконання.
- [CronJob](/uk/docs/concepts/workloads/controllers/cron-jobs/): Обʼєкт CronJob запускає Job за повторюваним графіком.
- [ReplicationController](/uk/docs/concepts/workloads/controllers/replicationcontroller/): Застаріле API для управління навантаженням, яке може горизонтально масштабуватися. Замінено API Deployment та ReplicaSet.
