Volcano#

Volcano - инструмент, предназначенный для управления рабочей нагрузкой и планирования задач в кластере DropApp. Обеспечивает дополнительные ресурсы для запуска и выполнения задач, управляет приоритетами и сроками выполнения задач, а также предоставляет расширенные возможности мониторинга и журналирования. Volcano позволяет DropApp использовать ресурсы кластера эффективнее, упрощает управление рабочей нагрузкой и ускоряет выполнение задач.

Volcano состоит из нескольких pod:

  • vc-controller-manager - основной компонент Volcano. Отвечает за обработку запросов на ресурсы, планирование заданий и управление их выполнением;

  • vc-scheduler - компонент Volcano, который анализирует доступные ресурсы и определяет, какие задания могут быть выполнены на каждом node кластера.

  • vc-webhook-manager - компонент Volcano, который управляет webhooks. Webhook - это механизмы обратной связи, которые позволяют Volcano получать информацию о состоянии заданий и принимать решения на основе этой информации.

Эти компоненты работают вместе, чтобы обеспечить эффективное управление ресурсами в кластере DropApp.

Volcano включает клиент командной строки Volcano vcctl.

Установка Volcano#

Для выполнения данного сценария необходимы права администратора.

Установите Volcano в существующий кластер DropApp:

kubectl apply -f https://<repoexemple.ru>/volcano-sh/volcano/master/installer/volcano-development.yaml
# Укажите актуальный путь до локального репозитория

В namespace volcano-system будут созданы следующие ресурсы:

NAME                                       READY   STATUS      RESTARTS   AGE
pod/volcano-admission-5bd5756f79-dnr4l     1/1     Running     0          96s
pod/volcano-admission-init-4hjpx           0/1     Completed   0          96s
pod/volcano-controllers-687948d9c8-nw4b4   1/1     Running     0          96s
pod/volcano-scheduler-94998fc64-4z8kh      1/1     Running     0          96s

NAME                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/volcano-admission-service   ClusterIP   000.00.000.000   <none>        443/TCP   96s

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/volcano-admission     1/1     1            1           96s
deployment.apps/volcano-controllers   1/1     1            1           96s
deployment.apps/volcano-scheduler     1/1     1            1           96s

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/volcano-admission-5bd5756f79     1         1         1       96s
replicaset.apps/volcano-controllers-687948d9c8   1         1         1       96s
replicaset.apps/volcano-scheduler-94998fc64      1         1         1       96s

NAME                               COMPLETIONS   DURATION   AGE
job.batch/volcano-admission-init   1/1           48s        96s

Примечание

IP приведен для примера и является несуществующим.

Выше представлена информация о состоянии контейнеров и сервисов в DropApp.

Команда vcctl используется для управления кластером DropApp, а параметр -h выводит информацию о доступных командах.