Перейти к основному содержимому

Для чистого Markdown-контента этой страницы добавьте .md к этому URL. Полный индекс документации см. в https://docs.nvidia.com/dynamo/llms.txt. Полный контент, включая API reference и примеры SDK, см. в https://docs.nvidia.com/dynamo/llms-full.txt.

Azure Kubernetes Service (AKS)

Dynamo в AKS

Это руководство описывает настройку кластера AKS с GPU-узлами и развертывание Dynamo.

Предварительные требования​

  • Активная подписка Azure с достаточной квотой на GPU VM
  • Установленный и авторизованный Azure CLI (az)
  • Установленный kubectl
  • Установленный Helm версии 3.0+

Шаг 1: Создайте группу ресурсов и кластер​

az group create \
--name <RESOURCE_GROUP> \
--location <REGION>
az aks create \
--resource-group <RESOURCE_GROUP> \
--name <CLUSTER_NAME> \
--node-count 1 \
--generate-ssh-keys

Затем получите учетные данные:

az aks get-credentials \
--resource-group <RESOURCE_GROUP> \
--name <CLUSTER_NAME>

Шаг 2: Добавьте пул GPU-узлов​

Добавьте пул узлов с поддержкой GPU, пропустив установку драйвера. Флаг --skip-gpu-driver-install не дает AKS управлять GPU-драйверами — вместо этого этим займется NVIDIA GPU Operator на шаге 3.

az aks nodepool add \
--resource-group <RESOURCE_GROUP> \
--cluster-name <CLUSTER_NAME> \
--name gpunp \
--node-count 2 \
--node-vm-size Standard_NC24ads_A100_v4 \
--skip-gpu-driver-install

Для рабочих нагрузок с поддержкой RDMA (disaggregated inference) используйте ВМ серии ND, например Standard_ND96asr_v4 или Standard_ND96isr_H100_v5. Дополнительные настройки для таких узлов описаны в руководстве по RDMA / InfiniBand.

Полный список размеров GPU VM см. в GPU-optimized VM sizes.

Шаг 3: Установите NVIDIA GPU Operator​

GPU Operator управляет драйверами NVIDIA, container toolkit, device plugin и мониторингом на GPU-узлах.

helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
helm repo update
helm install gpu-operator nvidia/gpu-operator \
--namespace gpu-operator --create-namespace

Проверьте, что pod'ы запущены:

kubectl get pods -n gpu-operator

Ожидаемый вывод (сокращенно):

NAMESPACE NAME READY STATUS RESTARTS AGE
gpu-operator gpu-feature-discovery-xxxxx 1/1 Running 0 2m
gpu-operator gpu-operator-xxxxx 1/1 Running 0 2m
gpu-operator nvidia-container-toolkit-daemonset-xxxxx 1/1 Running 0 2m
gpu-operator nvidia-cuda-validator-xxxxx 0/1 Completed 0 1m
gpu-operator nvidia-device-plugin-daemonset-xxxxx 1/1 Running 0 2m
gpu-operator nvidia-driver-daemonset-xxxxx 1/1 Running 0 2m

Если вам нужен RDMA / InfiniBand для disaggregated inference, не устанавливайте GPU Operator пока — для настройки RDMA нужны другие значения Helm. См. RDMA / InfiniBand для полной настройки, включая правильную команду установки GPU Operator.

Шаг 4: Установите Dynamo​

Следуйте руководству по установке, чтобы установить Dynamo Platform и развернуть свою первую модель.

Дополнительные руководства​

RDMA / InfiniBand​

Требуется для disaggregated inference в production. Без RDMA передача KV cache между prefill и decode workers переходит на TCP, что приводит к серьезной деградации задержки (~98 с TTFT против ~200–500 мс с RDMA). ВМ серии ND (например, Standard_ND96asr_v4, Standard_ND96isr_H100_v5) содержат InfiniBand NIC Mellanox ConnectX, но требуют дополнительной настройки сверх GPU Operator: NVIDIA Network Operator, NicClusterPolicy для драйверов MOFED, DaemonSet ib-node-config для настройки модулей ядра и лимитов memlock, а также RDMA Shared Device Plugin для экспонирования NIC в pod'ы.

Storage for Model Caching​

Предотвращает самостоятельную загрузку весов модели каждым pod'ом при запуске. Без общего хранилища большие модели будут загружаться по нескольку часов на каждый pod и в масштабе упрются в лимиты HuggingFace. Описаны варианты Azure Managed Lustre, Azure Files, Azure Disk и Local CSI с рекомендациями для каждого типа кэша (model cache, compilation cache, performance cache).

Azure Lustre CSI Driver​

Рекомендуемое хранилище для больших многонодовых моделей, которым нужен высокопроизводительный общий доступ. Azure Managed Lustre не устанавливается по умолчанию — это руководство объясняет, как установить и настроить Lustre CSI driver, прежде чем использовать его как класс хранения PVC.

Spot VMs​

Существенно снижает стоимость GPU-вычислений за счет запуска на прерываемых пулах Spot VM. AKS автоматически назначает узлам Spot taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, поэтому компонентам Dynamo нужны явные tolerations. В Helm chart Dynamo уже входит готовый values-aks-spot.yaml, который это обрабатывает.

Очистка ресурсов​

# Удалить все Dynamo Graph Deployments
kubectl delete dynamographdeployments.nvidia.com --all --all-namespaces

# Удалить Dynamo Platform
export NAMESPACE="dynamo-system"
helm uninstall dynamo-platform -n $NAMESPACE

# Если используется Dynamo < 1.0 с отдельным chart для CRD:
# helm uninstall dynamo-crds -n $NAMESPACE

Если нужно удалить GPU Operator, следуйте руководству Uninstalling the NVIDIA GPU Operator.

Если нужно удалить весь кластер AKS, следуйте руководству Delete an AKS cluster.