Обновление Cron

Эта статья описывает процесс обновления Cron. Выполните обновление с помощью Helm.

Что важно знать перед обновлением

При обновлении Cron кластер YTsaurus продолжает работать в обычном режиме, вы можете выполнять все операции с данными.

Во время обновления Cron происходят следующие изменения

  • Кластер YTsaurus продолжает работать в штатном режиме;
  • Серверные компоненты YTsaurus не требуют перезапуска;
  • Доступ к данным через YTsaurus API сохраняется;
  • Cronjobs могут временно быть недоступны во время обновления.

Доступные версии Cron и изменения в них описаны в релизах Cron.

Подготовка к обновлению

1. Проверить текущую версию Cron

Проверьте текущую версию Cron в Helm

helm list -n <namespace> | grep cron

Пример вывода

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART           APP VERSION
ytsaurus-cron   ytsaurus    1           2026-05-27 13:23:50.855024 +0300 MSK   deployed    cron-chart-0.0.2

2. Проверить состояние Cron

Проверьте, что Cronjobs работают корректно

kubectl get cronjobs -l app.kubernetes.io/name=cron-chart -n <namespace>

Пример вывода

NAME                                                   SCHEDULE       SUSPEND   ACTIVE   LAST SCHEDULE   AGE
ytsaurus-cron-cron-chart-clear-tmp-files               */15 * * * *   True      0        <none>          13s
ytsaurus-cron-cron-chart-clear-tmp-location            */15 * * * *   False     0        <none>          13s
ytsaurus-cron-cron-chart-clear-tmp-trash               */15 * * * *   False     0        <none>          13s
ytsaurus-cron-cron-chart-prune-offline-cluster-nodes   */15 * * * *   True      0        <none>          13s

3. Сохранить резервную копию конфигурации Cron

Сохраните текущую конфигурацию Cron

helm get values ytsaurus-cron -n <namespace> -o yaml > cron-backup.yaml

Обновление Cron

Выполняйте обновление последовательно через все версии. Для каждой версии выполните следующие шаги.

1. Получить текущую конфигурацию Cron

Получите текущую конфигурацию Cron

helm get values ytsaurus-cron -n <namespace> -o yaml > cron-values.yaml

2. Обновить Cron до новой версии

Обновите Cron до новой версии

helm upgrade ytsaurus-cron oci://ghcr.io/ytsaurus/cron-chart \
  --version <new-version> \
  -f cron-values.yaml \
  -n <namespace>

Пример обновления

helm upgrade ytsaurus-cron oci://ghcr.io/ytsaurus/cron-chart \
  --version 0.0.4 \
  -f cron-values.yaml \
  -n ytsaurus

3. Следить за обновлением

Следите за состоянием Cron во время обновления

helm status ytsaurus-cron -n <namespace>

4. Проверить результат

Проверьте, что Cron успешно обновился

helm list -n <namespace> | grep cron

Пример вывода

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART           APP VERSION
ytsaurus-cron   ytsaurus    2           2026-05-27 13:24:38.855024 +0300 MSK   deployed    cron-chart-0.0.4

Проверьте версию чарта

helm history ytsaurus-cron -n <namespace>

Пример вывода

REVISION	UPDATED                 	STATUS    	CHART           	APP VERSION	DESCRIPTION
1       	Wed May 27 13:23:50 2026	superseded	cron-chart-0.0.2	           	Install complete
2       	Wed May 27 13:24:38 2026	deployed  	cron-chart-0.0.4	           	Upgrade complete

Проверьте наличие новых cronjobs

kubectl get cronjobs -l app.kubernetes.io/name=cron-chart -n <namespace>

Пример вывода

NAME                                                   SCHEDULE       SUSPEND   ACTIVE   LAST SCHEDULE   AGE
ytsaurus-cron-cron-chart-clear-tmp-files               */15 * * * *   True      0        <none>          94s
ytsaurus-cron-cron-chart-clear-tmp-location            */15 * * * *   False     0        <none>          94s
ytsaurus-cron-cron-chart-clear-tmp-trash               */15 * * * *   False     0        <none>          94s
ytsaurus-cron-cron-chart-process-master-snapshot       0 * * * *      True      0        <none>          45s
ytsaurus-cron-cron-chart-prune-offline-cluster-nodes   */15 * * * *   True      0        <none>          94s

Откат на предыдущую версию

Выполните откат Cron на предыдущую версию без потери данных.

Шаги для отката

  1. Проверьте историю обновлений
helm history ytsaurus-cron -n <namespace>

Пример вывода

REVISION	UPDATED                 	STATUS    	CHART           	APP VERSION	DESCRIPTION
1       	Wed May 27 13:23:50 2026	superseded	cron-chart-0.0.2	           	Install complete
2       	Wed May 27 13:24:38 2026	deployed  	cron-chart-0.0.4	           	Upgrade complete
  1. Откатитесь на предыдущую версию
helm rollback ytsaurus-cron -n <namespace>
  1. Проверьте результат
helm list -n <namespace> | grep cron

Управление историей релизов

Helm хранит историю всех обновлений релиза, что позволяет откатываться на предыдущие версии. История релизов не занимает ресурсы в кластере и хранится в Kubernetes Secrets.

Просмотр истории

helm history ytsaurus-cron -n <namespace>

Очистка истории

Если вы уверены, что не будете откатываться на старые версии, вы можете очистить историю релизов.

Внимание

Очистка истории релизов необратима. После удаления истории вы не сможете откатиться на предыдущие версии.

Для очистки истории удалите и переустановите релиз

helm get values ytsaurus-cron -n <namespace> -o yaml > cron-values.yaml
helm uninstall ytsaurus-cron -n <namespace>
helm install ytsaurus-cron oci://ghcr.io/ytsaurus/cron-chart \
  --version <version> \
  -f cron-values.yaml \
  -n <namespace>
Предыдущая
Следующая