Перейти к содержанию

Обновление через Helm

Вы можете обновить установку GPUStack на базе Kubernetes с помощью helm upgrade.

Следующие инструкции по обновлению применимы только к GPUStack v2.2.0 и более поздним версиям, которые являются первой версией, которую можно развернуть через Helm.

Примечание

Развертывание и обновление GPUStack в Kubernetes с помощью Higress в настоящее время считается экспериментальным.

Предупреждение

Сначала сделайте резервную копию: Прежде чем приступить к обновлению, настоятельно рекомендуется создать резервную копию базы данных.

Если вы используете встроенную базу данных PostgreSQL, ее данные находятся в PVC сервера (с именем gpustack-data-dir-<release-name>-server-0, например gpustack-data-dir-gpustack-server-0 для выпуска по умолчанию gpustack), который монтируется внутри модуля сервера в /var/lib/gpustack; встроенный каталог данных PostgreSQL находится под этим монтированием по адресу postgresql/data. Создайте резервную копию перед обновлением.

Если вы используете внешнюю базу данных (server.externalDatabaseURL), вместо этого следуйте процедуре резервного копирования вашего поставщика базы данных.

Обновить версию

Всегда закрепляйте целевую версию с помощью --version <chart-version>, чтобы обновление выполнялось на известной, воспроизводимой версии (версия чарта соответствует выпуску GPUStack, например 2.2.0). Повторно используйте значения, которые вы указали во время установки, передав те же флаги -f values.yaml (и/или --set), которые вы использовали изначально, или --reuse-values, чтобы сохранить ранее примененные значения:

1
2
3
4
helm upgrade gpustack oci://registry-1.docker.io/gpustack/gpustack-chart \
  --namespace gpustack-system \
  --version <chart-version> \
  -f values.yaml

Предупреждение

Если вы опустите --version, Helm автоматически разрешит новейшую стабильную версию чарта. Избегайте этого при обновлении: вы не можете контролировать, на какую версию вы попадете. Всегда указывайте --version, чтобы настроить таргетинг на конкретный выпуск.

Порядок обновления сервера и воркеров

Сервер GPUStack развертывается как StatefulSet, а рабочие процессы, управляемые чартом, как DaemonSet, поэтому оба они переводятся на новый образ в рамках обновления выпуска. Поскольку сервер и рабочие процессы принадлежат к одному и тому же выпуску, порядок «сначала сервер, затем рабочие» не может быть реализован с помощью одного helm upgrade. Если в вашей среде важен строгий порядок, подождите, пока серверный модуль будет готов, прежде чем разрешать рабочие модули:

kubectl rollout status statefulset/<release-name>-server -n gpustack-system

Рабочие процессы, которые были зарегистрированы вне чарта через кластеры GPUStack (например, кластеры Docker или Kubernetes, добавленные через пользовательский интерфейс), не управляются этой версией Helm и должны быть обновлены, выполнив шаги Обновление развертывания кластера.