Добавить виртуальную машину в кластер GPU
В кластерах GPU можно создавать ВМ с 8 GPU на одной из следующих платформ:
- AMD EPYC™ with NVIDIA® Ampere® A100 (
gpu-standard-v3); - Gen2 (
gpu-standard-v3i); - GPU PLATFORM V4 (
gpu-standard-v4).
ВМ должна быть развернута из специального образа с драйверами NVIDIA.
Примечание
Кластер GPU можно разместить в одной из зон доступности: ru-central1-a, ru-central1-b и ru-central1-d. Зона доступности, в которой создается ВМ, должна совпадать с зоной доступности кластера.
-
В консоли управления
выберите каталог, в котором вы хотите создать ВМ. -
Перейдите в сервис Compute Cloud.
-
На панели слева выберите
Виртуальные машины и нажмите кнопку Создать виртуальную машину. -
В блоке Образ загрузочного диска выберите образ с предустановленными драйверами NVIDIA.
-
В поле Зона доступности выберите зону доступности, в которой находится кластер GPU.
-
В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация и укажите:
-
В блоке Общая информация задайте имя ВМ.
-
Нажмите кнопку Создать ВМ.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
В терминале выполните команду:
export YC_GPU_CLUSTER=$(yc compute gpu-cluster list --format=json | jq -r .[].id)
export YC_ZONE="ru-central1-a"
export SUBNET_NAME="my-subnet-name"
export SUBNET_ID=$(yc vpc subnet get --name=$SUBNET_NAME --format=json | jq -r .id)
yc compute instance create \
--name node-gpu-test \
--create-boot-disk size=64G,image-id=<идентификатор_образа_с_драйверами>,type=network-ssd \
--ssh-key=$HOME/.ssh/id_rsa.pub \
--gpus 8 \
--cores 224 \
--memory=952G \
--zone $YC_ZONE \
--network-interface subnet-id=$SUBNET_ID,nat-ip-version=ipv4 \
--platform gpu-standard-v3 \
--gpu-cluster-id=$YC_GPU_CLUSTER
Где:
--name— имя ВМ.--create-boot-disk— параметры диска ВМ.--ssh-key— путь к файлу с открытым SSH-ключом.--gpus— количество GPU.--cores— количество vCPU.--memory— объем RAM.--zone— зона доступности.--network-interface— настройки сетевого интерфейса ВМ.--platform— идентификатор платформы.--gpu-cluster-id— идентификатор кластера GPU.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
-
Опишите в конфигурационном файле Terraform параметры ресурса, который необходимо создать:
provider "yandex" { zone = "ru-central1-a" } resource "yandex_compute_disk" "boot-disk" { name = "<имя_диска>" type = "<тип_диска>" zone = "ru-central1-a" size = "<размер_диска>" image_id = "<идентификатор_образа_с_драйверами>" } resource "yandex_compute_instance" "default" { name = "vm-gpu" platform_id = "gpu-standard-v3" zone = "ru-central1-a" gpu_cluster_id = "<идентификатор_кластера_GPU>" resources { cores = "224" memory = "952" gpus = "8" } boot_disk { disk_id = yandex_compute_disk.boot-disk.id } network_interface { subnet_id = "${yandex_vpc_subnet.subnet-1.id}" nat = true } metadata = { user-data = "#cloud-config\nusers:\n - name: <имя_пользователя>\n groups: sudo\n shell: /bin/bash\n sudo: 'ALL=(ALL) NOPASSWD:ALL'\n ssh_authorized_keys:\n - ${file("<путь_к_открытому_SSH-ключу>")}" } } resource "yandex_vpc_network" "network-1" { name = "network1" } resource "yandex_vpc_subnet" "subnet-1" { name = "subnet1" zone = "<зона_доступности>" v4_cidr_blocks = ["192.168.10.0/24"] network_id = "${yandex_vpc_network.network-1.id}" }Где:
-
yandex_compute_disk— описание загрузочного диска, гдеimage_id— идентификатор образа с драйверами. -
gpu_cluster_id— идентификатор кластера GPU. Обязательный параметр. -
yandex_vpc_network— описание облачной сети. -
yandex_vpc_subnet— описание подсети, в которой будет создана ВМ.Примечание
Если у вас уже есть подходящие ресурсы (облачная сеть и подсеть), описывать их повторно не нужно. Используйте их имена и идентификаторы в соответствующих параметрах.
Подробную информацию о параметрах ресурса
yandex_compute_instanceчитайте в документации провайдера Terraform.
-
-
В блоке
metadataукажите имя пользователя и путь к открытому SSH-ключу. Подробнее в разделе Метаданные виртуальной машины. -
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого в указанном кластере GPU будет создана ВМ. Проверить появление ВМ и ее настройки можно в консоли управления
yc compute instance get <имя_ВМ>
Чтобы создать ВМ в кластере GPU, воспользуйтесь методом REST API create для ресурса Instance или вызовом gRPC API InstanceService/Create. В теле запроса в поле gpuClusterId укажите идентификатор кластера GPU.