Cette page vous explique comment utiliser le plug-in Fast Socket NVIDIA Collective Communication Library (NCCL) pour exécuter des charges de travail plus efficaces sur vos clusters Google Kubernetes Engine (GKE).
Les clusters Autopilot ne sont pas compatibles avec Fast Socket NCCL.
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande
gcloud components update
.
Limites
- Les limites Compute Engine s'appliquent.
- Les limites gVNIC s'appliquent.
- Fast Socket NCCL n'est compatible qu'avec les pools de nœuds pour lesquels les accélérateurs matériels sont activés.
Conditions requises
- Pour utiliser Fast Socket NCCL, vous devez activer gVNIC sur vos pools de nœuds.
- Les nœuds GKE doivent utiliser une image de nœud Container-Optimized OS.
- Vos clusters doivent exécuter GKE version 1.25.2-gke.1700 ou ultérieure.
Créer un cluster
Créez un cluster :
gcloud container clusters create CLUSTER_NAME \
--cluster-version=VERSION \
--region=COMPUTE_REGION
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du nouveau clusterVERSION
: version de GKE, qui doit être 1.25.2-gke.1700 ou ultérieure. Vous pouvez également utiliser l'option--release-channel
pour sélectionner une version disponible. La version disponible doit disposer de la version par défaut 1.25.2-gke.1700 ou ultérieure.COMPUTE_REGION
: région Compute Engine du nouveau cluster. Pour les clusters zonaux, utilisez--zone=COMPUTE_ZONE
.
Activer Fast Socket NCCL
Créez un pool de nœuds utilisant le plug-in Fast Socket NCCL. Vous pouvez également mettre à jour un pool de nœuds existant à l'aide de la commande gcloud container node-pools update
.
gcloud container node-pools create NODEPOOL_NAME \
--accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--machine-type=MACHINE_TYPE \
--cluster=CLUSTER_NAME \
--enable-fast-socket \
--enable-gvnic
Remplacez les éléments suivants :
NODEPOOL_NAME
: nom du nouveau pool de nœuds.CLUSTER_NAME
: nom du cluster.ACCELERATOR_TYPE
: type d'accélérateur GPU que vous utilisez. Exemple :nvidia-tesla-t4
ACCELERATOR_COUNT
: nombre de GPU par nœud.MACHINE_TYPE
: type de machine que vous souhaitez utiliser. Fast Socket NCCL n'est pas compatible avec les types de machines à mémoire optimisée.
Installer des pilotes d'appareils GPU NVIDIA
Suivez les instructions figurant sur la page Installer des pilotes d'appareils GPU NVIDIA pour installer les pilotes d'appareils NVIDIA requis sur vos nœuds.
Vérifiez que Fast Socket NCCL est activé.
Pour vérifier que Fast Socket NCCL est activée, consultez les pods kube-system:
kubectl get pods -n kube-system
Le résultat ressemble à ce qui suit :
NAME READY STATUS RESTARTS AGE
nccl-fastsocket-installer-qvfdw 2/2 Running 0 10m
nccl-fastsocket-installer-rtjs4 2/2 Running 0 10m
nccl-fastsocket-installer-tm294 2/2 Running 0 10m
Dans ce résultat, le nombre de pods doit être égal au nombre de nœuds du pool de nœuds.
Désactiver Fast Socket NCCL
Pour désactiver Fast Socket NCCL, exécutez la commande suivante:
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--no-enable-fast-socket
Le plug-in est toujours installé sur les nœuds existants. Vous devez redimensionner manuellement le pool de nœuds pour migrer les charges de travail vers de nouveaux nœuds.
Dépannage
Pour résoudre les problèmes liés à la gVNIC, consultez la section Dépannage de la carte d'interface réseau virtuelle Google.
Étapes suivantes
- Utilisez la journalisation des règles de réseau pour enregistrer les connexions aux pods autorisées ou refusées par les règles de réseau de votre cluster.