Добавление кластера графических процессоров с помощью Shuihua.
При создании кластера GPUStack может использовать SHUIHUA FUTURE для создания рабочих процессов и добавления их в кластер GPUStack.
Подготовка
Вам потребуется учетная запись SHUIHUA FUTURE и ключ API, созданный в консоли Shuihua. Ключ имеет префикс amp_live_.
При запуске сервера GPUStack необходимо указать параметр --server-external-url. Экземпляры Shuihua достигают сервера через этот адрес, чтобы зарегистрироваться и сохранить свой туннель открытым, поэтому он должен быть доступен для них. Если ваш сервер работает через прокси, установите здесь адрес прокси.
Создать кластер Шуйхуа.
Создать облачные учетные данные
Создайте облачные учетные данные SHUIHUA FUTURE на странице Cloud Credentials. API Key — единственное поле, которое необходимо заполнить.
Создание кластера с использованием облачных учетных данных.
На странице создания кластера выберите SHUIHUA FUTURE в качестве Cloud Provider:
Введите имя, выберите только что созданные облачные учетные данные и настройте GPUStack Server URL. В Шуйхуа нет регионов, поэтому выбирать регион не приходится.
Поле Default Container Registry здесь обязательно. Экземпляры Shuihua не могут подключиться к Docker Hub, поэтому образ воркера GPUStack должен загружаться из другого реестра. В поле предлагаются quay.io и swr.cn-south-1.myhuaweicloud.com; можно также ввести другой реестр, например собственный Harbor или зеркало. Значение, указывающее на хост Docker Hub, отклоняется.
Примечание:
--image-name-overrideсервера имеет приоритет над этим полем. Если сервер работает с переопределением, это имя образа используется дословно, а параметр реестра не имеет никакого эффекта, поэтому само переопределение должно указывать доступный реестр.
Нажмите Next, чтобы создать рабочий пул для кластера.
Создать пул рабочих
Заполните Name, Replicas и Batch Size по мере необходимости.
Затем выберите Instance Type, что в терминах Шуйхуа является шаблоном спецификации. Для каждого варианта указана модель графического процессора, почасовая цена и остаток на складе; распроданный шаблон остается в списке, но его нельзя выбрать, поэтому вы можете понять, почему он недоступен.
Далее выберите OS Image.
Shuihua арендует только графические процессоры NVIDIA, а ее образы поставляются с уже установленными драйверами и набором инструментов для контейнеров. Таким образом, Cloud-init лишь указывает Docker на среду выполнения NVIDIA и запускает рабочий процесс — ничего не устанавливается и экземпляр не перезагружается, поэтому эти рабочие процессы запускаются быстрее, чем те, которым приходится собирать драйвер.
Тома не предлагаются для этого провайдера: у Shuihua нет API блочного хранилища. Метки поддерживаются.
Нажмите Save, если все настроено.
Ожидание предоставления рабочих
После сохранения кластера перейдите на страницу Workers, чтобы просмотреть ход подготовки работников Shuihua.
Процесс подготовки включает в себя несколько этапов:
- Создайте ключ SSH. У Shuihua нет API-интерфейса SSH-ключа, поэтому ключ не зарегистрирован у провайдера; Вместо этого он записывается в Cloud-init экземпляра.
- Создайте экземпляр. Создание асинхронное — Шуйхуа принимает запрос и сообщает
creating, затемprocessing, затемactive. - Подождите, пока экземпляр запустится.
- Подождите, пока будет назначен его адрес.
- Рабочий переходит в статус
Initializedи ждет, пока рабочий контейнер запустится и подключится к серверу.
Как только рабочий достигнет статуса Ready, на нем можно будет развернуть модели.
Подключение к работнику через SSH
Shuihua публикует каждый экземпляр за одним общим общедоступным IP-адресом, сопоставляя только порты 22 и 80 с портом, специфичным для экземпляра. IP-адрес, отображаемый для работника, — это собственный частный адрес экземпляра, который идентифицирует его, но к которому невозможно подключиться.
Вместо этого используйте View SSH Access в меню операций работника. Он показывает Host, Port и Connection Command, которые действительно достигают экземпляра, и позволяет загрузить Private Key (сохранённый как worker-<id>-private_key.pem).
Поскольку собственный порт работника никогда не отображается, шлюз не может обеспечить входящий доступ к этим работникам. Они выполняют вывод через туннель WebSocket сервера, поэтому кластер Шуйхуа по умолчанию использует режим прокси-сервера tunnel. Оставьте все как есть, если только ваша сеть не направляет к экземплярам напрямую.
Безопасное сокращение числа работников Шуйхуа
Если рабочий Shuihua больше не нужен, выполните следующие действия, чтобы безопасно уничтожить экземпляр:
- Отрегулируйте количество реплик рабочего пула, чтобы оно соответствовало количеству рабочих, которое вы хотите удалить. Обратите внимание, что работники не удаляются автоматически на этом этапе.
- Убедитесь, что ни один экземпляр модели не развернут на рабочих процессах, которые вы собираетесь удалить.
- Удалите рабочих при необходимости. Соответствующие экземпляры будут прекращены соответственно.
Устранение неполадок
Работник остается в Initialized и никогда не становится Ready. Экземпляр загрузился, но рабочий контейнер не запустился, чаще всего потому, что не удалось вытащить образ. Подключитесь через SSH и проверьте:
Воркер находится в состоянии Ready, но не обнаруживает GPU. Docker не использует среду выполнения NVIDIA:
Не удалось подготовить работника, и его нельзя повторить на месте. Удалите работника и позвольте пулу создать замену. Каждая попытка создания содержит ключ защиты от повторного воспроизведения, полученный из рабочей строки, поэтому для получения нового экземпляра требуется новый рабочий процесс.








