Konfigurieren der GPU-Überwachung mit Container Insights
Container Insights unterstützt die Überwachung von GPU-Clustern der folgenden GPU-Anbieter:
Container Insights beginnt automatisch mit der Überwachung der GPU-Nutzung auf Knoten sowie GPUs anfordernden Pods und Workloads, indem die folgenden Metriken in 60-Sekunden-Intervallen gesammelt und in der Tabelle InsightMetrics gespeichert werden.
Hinweis
Nachdem Sie Cluster mit GPU-Knoten bereitgestellt haben, stellen Sie sicher, dass der GPU-Treiber gemäß Azure Kubernetes Service (AKS) installiert ist, um GPU-Workloads auszuführen. Container Insights sammelt GPU-Metriken über GPU-Treiberpods, die auf dem Knoten ausgeführt werden.
Metrikname | Metrikdimension (Tags) | Beschreibung |
---|---|---|
containerGpuDutyCycle* | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor | Der Prozentsatz der Zeit im Verlauf des letzten Beispielzeitraums (60 Sekunden), während dessen die GPU ausgelastet war/aktiv die Verarbeitung für einen Container ausgeführt hat. Der Arbeitszyklus ist eine Zahl zwischen 1 und 100. |
containerGpuLimits | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName | In jedem Container können Grenzwerte als eine oder mehrere GPUs angegeben werden. Es ist nicht möglich, einen Bruchteil einer GPU anzufordern oder einzuschränken. |
containerGpuRequests | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName | Jeder Container kann einen oder mehrere GPUs anfordern. Es ist nicht möglich, einen Bruchteil einer GPU anzufordern oder einzuschränken. |
containerGpumemoryTotalBytes* | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor | Menge an GPU-Arbeitsspeicher in Byte, die für einen bestimmten Container verwendet werden kann |
containerGpumemoryUsedBytes* | container.azm.ms/clusterId, container.azm.ms/clusterName, containerName, gpuId, gpuModel, gpuVendor | Menge an GPU-Arbeitsspeicher in Byte, die für einen bestimmten Container verwendet wird |
nodeGpuAllocatable | container.azm.ms/clusterId, container.azm.ms/clusterName, gpuVendor | Anzahl von GPUs in einem Knoten, die von Kubernetes verwendet werden können. |
nodeGpuCapacity | container.azm.ms/clusterId, container.azm.ms/clusterName, gpuVendor | Gesamtanzahl der GPUs auf einem Knoten |
* Basierend auf Kubernetes-Upstreamänderungen werden diese Metriken nicht mehr sofort erfasst. Aktualisieren Sie als temporären Hotfix für AKS Ihren GPU-Knotenpool auf die neueste Version oder auf eine höhere Version als *-2022.06.08. Aktivieren Sie für Kubernetes mit Azure Arc-Unterstützung das Featuregate DisableAcceleratorUsageMetrics=false
in der Kubelet-Konfiguration des Knotens, und starten Sie das Kubelet neu. Nachdem die Upstreamänderungen die allgemeine Verfügbarkeit erreicht haben, funktioniert dieser Fix nicht mehr.
GPU-Leistungsdiagramme
Container Insights enthält vorkonfigurierte Diagramme für die Metriken, die weiter oben in der Tabelle als GPU-Arbeitsmappe für jeden Cluster aufgeführt sind. Unter Arbeitsmappen in Container Insights finden Sie eine Beschreibung der für Container Insights verfügbaren Arbeitsmappen.
Nächste Schritte
- In Verwenden von GPUs für computeintensive Workloads in Azure Kubernetes Service erfahren Sie, wie Sie einen AKS-Cluster bereitstellen, der GPU-fähige Knoten enthält.
- Erfahren Sie mehr über GPU-optimierte VM-SKUs in Azure.
- In Schedule GPUs (Planen von GPUs)erfahren Sie mehr darüber, wie Kubernetes Experimente zur Verwaltung von GPUs auf einem oder mehreren Knoten in einem Cluster unterstützt.