ru localization of workloads _index.md
Co-Authored-By: Dmitry Shurupov <dmitry.shurupov@palark.com>pull/43785/head
parent
f5396654e8
commit
aaff964f54
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
title: "Рабочие нагрузки"
|
||||
weight: 55
|
||||
description: >
|
||||
Поймите под, самый маленький развертываемый вычислительный объект в Kubernetes, и абстракции более высокого уровня, которые помогут вам их запускать.
|
||||
no_list: true
|
||||
card:
|
||||
title: Рабочие нагрузки и поды
|
||||
name: concepts
|
||||
weight: 60
|
||||
---
|
||||
|
||||
Рабочая нагрузка — это приложение, работающее в Kubernetes.
|
||||
Независимо от того, представляет ли ваша рабочая нагрузка один компонент
|
||||
или несколько, которые работают вместе, в Kubernetes вы
|
||||
запускаете ее внутри набора [_подов_](/docs/concepts/workloads/pods).
|
||||
В Kubernetes под представляет собой набор работающих
|
||||
{{< glossary_tooltip text="контейнеров" term_id="container" >}} в кластере.
|
||||
|
||||
Поды Kubernetes имеют определенный [жизненный цикл](/docs/concepts/workloads/pods/pod-lifecycle/).
|
||||
Например, если у вас запущен под в кластере, то критическая ошибка на
|
||||
{{< glossary_tooltip text="узле" term_id="node" >}}, где этот модуль работает,
|
||||
означает, что все поды на этом узле выходят из строя. Kubernetes считает
|
||||
этот уровень сбоя безвозвратным: потребуется создать новый под для восстановления,
|
||||
даже если узел позже станет работоспособным.
|
||||
|
||||
Однако, чтобы значительно облегчить жизнь, не нужно
|
||||
непосредственно контролировать каждый под. Вместо этого можно использовать
|
||||
_ресурсы рабочей нагрузки_, которые управляют набором подов за вас.
|
||||
Эти ресурсы настраивают {{< glossary_tooltip term_id="controller" text="контроллеры" >}},
|
||||
которые обеспечивают запуск нужного количества модулей
|
||||
нужного типа в соответствии с указанным вами состоянием.
|
||||
|
||||
Kubernetes предоставляет несколько встроенных ресурсов для рабочих нагрузок:
|
||||
|
||||
* Деплоймент ([Deployment](/docs/concepts/workloads/controllers/deployment/)) и [ReplicaSet](/docs/concepts/workloads/controllers/replicaset/)
|
||||
(замена устаревшего ресурса
|
||||
{{< glossary_tooltip text="ReplicationController" term_id="replication-controller" >}}).
|
||||
Deployment хорошо подходит для управления неизменными (stateless) приложениями
|
||||
в кластере, то есть для случаев, когда любой под
|
||||
в деплойменте не содержит изменяемых данных
|
||||
и может быть заменен при необходимости.
|
||||
* [StatefulSet](/docs/concepts/workloads/controllers/statefulset/) позволяет запускать один или несколько
|
||||
связанных подов, которые как-то отслеживают состояние (являются stateful). Например, если ваше
|
||||
приложение записывает постоянные данные, вы можете использовать StatefulSet,
|
||||
который сопоставляет каждый под с [PersistentVolume](/docs/concepts/storage/persistent-volumes/).
|
||||
Ваш код, работающий в подах этого StatefulSet, может
|
||||
копировать данные в другие поды в том же StatefulSet,
|
||||
чтобы повысить общую отказоустойчивость.
|
||||
* [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) создает поды, которые
|
||||
предоставляют инструменты, которые доступны локально для узлов.
|
||||
Каждый раз, когда вы добавляете в кластер узел,
|
||||
соответствующий спецификации DaemonSet,
|
||||
слой управления (control plane) планирует (т.е. запускает) под с этим DaemonSet
|
||||
на новом узле. Каждый под в DaemonSet выполняет работу,
|
||||
аналогичную работе системного демона на классическом сервере Unix/POSIX.
|
||||
DaemonSet может иметь основополагающее значение для работы вашего кластера,
|
||||
например, в случае плагина для запуска сети кластера ([cluster networking](/ru/docs/concepts/cluster-administration/networking/#реализация-сетевой-модели-kubernetes)).
|
||||
Этот ресурс может помочь управлять узлом
|
||||
или предоставить дополнительные возможности
|
||||
для используемой контейнерной платформы.
|
||||
* [Job](/docs/concepts/workloads/controllers/job/) и
|
||||
[CronJob](/docs/concepts/workloads/controllers/cron-jobs/) предоставляют различные
|
||||
способы запуска задач, которые выполняются до своего завершения, а затем останавливаются.
|
||||
[Job](/docs/concepts/workloads/controllers/job/) используется для задачи,
|
||||
которая выполняется только один раз. Вы можете
|
||||
использовать [CronJob](/docs/concepts/workloads/controllers/cron-jobs/) для запуска этого же задания
|
||||
несколько раз по расписанию.
|
||||
|
||||
В экосистеме вокруг проекта Kubernetes можно найти сторонние ресурсы для
|
||||
рабочих нагрузок, которые предоставляют дополнительные функции. Используя
|
||||
[custom resource definition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/),
|
||||
вы можете добавить сторонний ресурс рабочей нагрузки, если нужно определенное
|
||||
поведение, не являющееся частью стандартного Kubernetes. Например, если вы хотите
|
||||
запустить группу подов для своего приложения, но хотите свернуть работу в случае,
|
||||
когда не все поды доступны (возможно, для распределенной задачи с высокой пропускной способностью),
|
||||
можно реализовать или установить расширение, которое предоставляет эту функцию.
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
||||
В дополнение к информации о каждом виде API для управления рабочей нагрузкой вы можете прочитать,
|
||||
как выполнять конкретные задачи:
|
||||
|
||||
* [Запустите stateless-приложение, используя деплоймент](/docs/tasks/run-application/run-stateless-application-deployment/)
|
||||
* Запустите stateful-приложение в [единственном экземпляре](/docs/tasks/run-application/run-single-instance-stateful-application/)
|
||||
или в виде [множества реплик](/docs/tasks/run-application/run-replicated-stateful-application/)
|
||||
* [Запустите задачи автоматизации с помощью CronJob](/docs/tasks/job/automated-tasks-with-cron-jobs/)
|
||||
|
||||
Чтобы узнать о механизмах отделения кода от конфигурации в Kubernetes, посетите
|
||||
раздел [Configuration](/docs/concepts/configuration/).
|
||||
|
||||
Есть два вспомогательных концепта, которые дают представление о том,
|
||||
как Kubernetes управляет подами для приложений:
|
||||
* Сборщик мусора ([Garbage collection](/ru/docs/concepts/architecture/garbage-collection/)) вычищает объекты из
|
||||
вашего кластера после удаления _ресурса-владельца_.
|
||||
* Контроллер времени существования после завершения ([_time-to-live after finished_ controller](/docs/concepts/workloads/controllers/ttlafterfinished/))
|
||||
удаляет задания (Jobs) по истечении определенного времени с момента их завершения.
|
||||
|
||||
После запуска вашего приложения можно сделать его доступным в интернете
|
||||
с помощью [Service](/docs/concepts/services-networking/service/) или, только в случае веб-приложения,
|
||||
используя [Ingress](/docs/concepts/services-networking/ingress).
|
||||
|
Loading…
Reference in New Issue