Обновление развертывания кластера
GPUStack организует рабочие узлы в кластеры. На этой странице описано обновление рабочего развертывания кластера после обновления сервера GPUStack.
Примечание
-
Сначала обновите GPUStack сервер (см. Обновление через Docker или Обновление через Helm), затем обновите развертывания кластера.
-
Обновите работника до той же версии, что и сервер. Не смешивайте рабочий образ
main(dev) или релиз-кандидат(rc) со стабильным сервером.
Процедура обновления отражает исходное развертывание кластера (см. Управление кластером): повторно запустите развертывание для кластера Docker или повторно примените манифесты для кластера Kubernetes, используя новый образ.
Докер-кластер
Воркеры в кластере Docker запускаются как контейнеры, запущенные командой docker run с шага Add Worker кластера. Обновите каждого рабочего, вытащив новый образ, удалив старый контейнер и воссоздав его с теми же аргументами и томами, что и раньше:
Совет
Вы можете получить актуальную команду docker run для целевой версии из пользовательского интерфейса GPUStack: на странице Clusters откройте шаг Add Worker кластера и скопируйте сгенерированный Run command.
Кластер Kubernetes
Рабочие процессы в кластере Kubernetes развертываются как наборы DaemonSet, управляемые оператором GPUStack, из манифестов, применяемых во время регистрации кластера. Для обновления повторно примените манифесты, созданные для новой версии:
- Перейдите на страницу
Clustersи найдите кластер Kubernetes, который вы хотите обновить. - Нажмите кнопку с многоточием в столбце операций, затем выберите
Register Cluster. - Выполните действия до шага
Run commandи скопируйте сгенерированную команду. - Запустите команду в среде, где установлен
kubectlиkubeconfigнастроен для целевого кластера. При этом обновленные манифесты будут повторно применены, а оператор переведет рабочие DaemonSets на новую версию.
Как только рабочие модули достигают Ready, в кластере запускается новая версия.
Кластер облачных провайдеров
Для облачных кластеров (например, DigitalOcean) каждый рабочий узел загружается с помощью Cloud-init, который записывает рабочую конфигурацию в /var/lib/gpustack/config.yaml и запускает контейнер gpustack-worker через /opt/gpustack-run-worker.sh. Чтобы обновить существующий узел, подключитесь к нему по SSH и заново создайте контейнер с новым образом, повторно используя ту же конфигурацию и тома:
Примечание
Чтобы новые подготовленные узлы (например, в результате масштабирования рабочего пула) появлялись и в новой версии, также обновите конфигурацию образа кластера в пользовательском интерфейсе. См. Управление кластером.