Configurer la surveillance de GPU avec Container Insights
Container Insights prend en charge la supervision des clusters de GPU des fournisseurs de GPU suivants :
Container Insights démarre automatiquement la supervision de l’utilisation de GPU sur les nœuds ainsi que celle des demandes GPU en pods et en charges de travail, en collectant les métriques suivantes toutes les 60 secondes et en les stockant dans la table InsightMetrics.
Notes
Après avoir provisionné des clusters avec des nœuds GPU, vérifiez que le pilote GPU est installé comme requis par AKS (Azure Kubernetes Service) pour exécuter les charges de travail GPU. Container Insights collecte les métriques de GPU via des pods de pilote GPU s’exécutant dans le nœud.
Nom de métrique | Dimension de la métrique (balises) | Description |
---|---|---|
containerGpuDutyCycle* | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor | Pourcentage de temps durant lequel le GPU est resté occupé/en cours de traitement pour un conteneur au cours de la période d’échantillonnage passée (60 secondes). Le cycle d’utilisation est un nombre compris entre 1 et 100. |
containerGpuLimits | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName | Chaque conteneur peut spécifier des limites pour un ou plusieurs GPU. Il n’est pas possible de demander ou de limiter une partie d’un GPU. |
containerGpuRequests | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName | Chaque conteneur peut demander un ou plusieurs GPU. Il n’est pas possible de demander ou de limiter une partie d’un GPU. |
containerGpumemoryTotalBytes* | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor | Quantité de mémoire de GPU en octets à disposition pour un conteneur spécifique. |
containerGpumemoryUsedBytes* | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor | Quantité de mémoire de GPU en octets utilisée par un conteneur spécifique. |
nodeGpuAllocatable | container.azm.ms/clusterId, container.azm.ms/clusterName, gpuVendor | Nombre de GPU dans un nœud pouvant être utilisés par Kubernetes. |
nodeGpuCapacity | container.azm.ms/clusterId, container.azm.ms/clusterName, gpuVendor | Nombre total de GPU présents dans un nœud. |
* En fonction des modifications en amont de Kubernetes, ces métriques ne sont plus collectées d’office. Comme correctif logiciel temporaire, pour AKS, mettez à niveau votre pool de nœuds GPU vers la dernière version ou *-2022.06.08 ou une version ultérieure. Pour Kubernetes avec Azure Arc, activez la porte de fonctionnalité DisableAcceleratorUsageMetrics=false
dans la configuration kubelet du nœud et redémarrez le kubelet. Une fois que les modifications en amont atteignent la disponibilité générale, ce correctif ne fonctionne plus.
Graphiques de performances de GPU
Container Insights inclut des graphiques préconfigurés pour les métriques listées dans le tableau précédent sous la forme d’un classeur GPU pour chaque cluster. Pour une description des classeurs disponibles dans Container insights, consultez Classeurs dans Container Insights.
Étapes suivantes
- Consultez Utiliser des GPU pour les charges de travail nécessitant beaucoup de ressources système sur AKS pour savoir comment déployer un cluster AKS constitué de nœuds avec GPU.
- Découvrez-en plus sur les références SKU de machines virtuelles optimisées pour le GPU dans Azure.
- Consultez Prise en charge des GPU dans Kubernetes pour en savoir plus sur la prise en charge expérimentale de Kubernetes de la gestion de GPU sur un ou plusieurs nœuds d’un cluster.