Aracılığıyla paylaş


Azure Kubernetes Service'te (AKS) Yönetilen Azure Prometheus ve Grafana ile NVIDIA DCGM ihracatçısının GPU ölçümlerini izlemek.

Bu makalede, Azure Yönetilen Prometheus ve Azure Yönetilen Grafana kullanarak Azure Kubernetes Service'de (AKS) NVIDIA Veri Merkezi GPU Yöneticisi (DCGM) dışa aktarıcısı tarafından toplanan GPU ölçümlerini nasıl izleyeceğinizi öğrenirsiniz.

Önkoşullar

NVIDIA DCGM Exporter'ı yükleme

NVIDIA DCGM Exporter, GPU ölçümlerini toplar ve dışarı aktarır. AKS kümenizde pod olarak çalışır ve kullanım, bellek kullanımı, sıcaklık ve güç tüketimi gibi ölçümleri toplar. Daha fazla bilgi için NVIDIA DCGM Exporter belgelerine bakın.

Önemli

Aks belgeleri ve örnekleri boyunca açık kaynak yazılımdan bahsedilmektedir. Dağıttığınız yazılımlar AKS hizmet düzeyi sözleşmelerinin, sınırlı garantinin ve Azure desteği dışında tutulur. AKS ile birlikte açık kaynak teknolojisini kullanırken, bir plan geliştirmek için ilgili toplulukların ve proje bakımcılarının sağlanan destek seçeneklerine başvurun.

Örneğin, Ray GitHub deposu yanıt süresi, amacı ve destek düzeyine göre değişen çeşitli platformları açıklar.

Microsoft, AKS'de dağıttığımız açık kaynak paketleri oluşturma sorumluluğunu üstlenir. Bu sorumluluk derleme, tarama, imzalama, doğrulama ve acil düzeltme sürecinin tam sahipliği ve konteyner görüntülerindeki ikili dosyalar üzerindeki denetimi içerir. Daha fazla bilgi için AKS için güvenlik açığı yönetimi ve AKS destek kapsamı sayfalarına bakın.

NVIDIA DCGM Exporter'ın varsayılan yapılandırmalarını güncelleştirme

  1. NVIDIA/dcgm-exporter GitHub deposunu kopyalayın.

    git clone https://github.com/NVIDIA/dcgm-exporter.git
    
  2. Yeni dcgm-exporter dizine gidin.

    cd dcgm-exporter
    
  3. service-monitor.yaml açın ve apiVersion anahtarını azmonitoring.coreos.com/v1 olarak güncelleyin. Bu değişiklik, NVIDIA DCGM ihracatçısının Azure Yönetimli Prometheus üzerinde ölçümleri göstermesini sağlar.

    apiVersion: azmonitoring.coreos.com/v1
    ...
    ...
    
  4. Dizine deployment gidin ve dosyayı açın values.yaml . Bu YAML bildiriminde aşağıdaki alanları güncelleştirin:

    ...
    ...
    serviceMonitor:
        apiVersion: "azmonitoring.coreos.com/v1"
    ...
    ...
    nodeSelector:
        accelerator: "nvidia"
    
    tolerations:
    - key: "sku"
        operator: "Equal"
        value: "gpu"
        effect: "NoSchedule"
    ...
    ...
    

NVIDIA DCGM ihracatçı Helm grafiğini Azure Container Registry'nize gönderin

  1. Kopyalanan deponun deployment klasörüne gidin ve helm package komutunu kullanarak Helm grafiğini paketleyin.

    helm package .
    
  2. komutunu kullanarak ACR'nizle Helm'in kimliğini doğrular helm registry login . <acr_url>, <user_name> ve <password> değerlerini ACR ayrıntılarınızla değiştirin. Daha ayrıntılı yönergeler için bkz. Azure Container Registry ile Helm kimliğini doğrulama.

    helm registry login <acr_url> --username <user_name> --password <password>
    
  3. helm push komutunu kullanarak Helm tablosunu ACR'nize gönderin. <dcgm_exporter_version> öğesini, helm package komutunun çıktısında belirtilen sürümle ve <acr_url> öğesini ACR URL'nizle değiştirin.

    helm push dcgm-exporter-<dcgm_exporter_version>.tgz oci://<acr_url>/helm
    
  4. helm install komutunu kullanarak AKS kümenize Helm grafiğini GPU etkin düğüm havuzunuzla aynı ad alanında yükleyin. <acr_url> ile ACR URL'nizi değiştirin.

    helm install dcgm-nvidia oci://<acr_url>/helm/dcgm-exporter -n <gpu_namespace>
    
  5. komutunu kullanarak helm list AKS kümenizdeki yüklemeyi denetleyin.

    helm list -n <gpu_namespace>
    
  6. NVIDIA DCGM Exporter'ın GPU düğüm havuzunuzda çalıştığını doğrulamak için kubectl get pods ve kubectl get ds komutlarını kullanın.

    kubectl get pods -n <gpu_namespace>
    kubectl get ds -n <gpu_namespace>
    

GPU Prometheus ölçümlerini dışarı aktarma ve NVIDIA Grafana panosunu yapılandırma

NVIDIA DCGM Exporter, GPU düğüm havuzunuza başarıyla dağıtıldıktan sonra, bir Kubernetes PodMonitor kaynağı dağıtarak varsayılan etkin GPU ölçümlerini Azure Yönetilen Prometheus'a dışarı aktarmanız gerekir.

  1. adlı pod-monitor.yaml bir dosya oluşturun ve bu dosyaya aşağıdaki yapılandırmayı ekleyin:

    apiVersion: azmonitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: nvidia-dcgm-exporter
      labels:
        app.kubernetes.io/name: nvidia-dcgm-exporter
    spec:
      selector:
        matchLabels:
          app.kubernetes.io/name: nvidia-dcgm-exporter
      podMetricsEndpoints:
      - port: metrics
        interval: 30s
      podTargetLabels:
    
  2. Uygun kubectl apply komutunu kube-system ad alanında kullanarak bu PodMonitor yapılandırmasını AKS kümenize uygulayın.

    kubectl apply -f pod-monitor.yaml -n kube-system
    
  3. kubectl get podmonitor komutunu kullanarak PodMonitor'ın başarıyla oluşturulduğunu doğrulayın.

    kubectl get podmonitor -n kube-system
    
  4. Azure portalında Azure İzleyici çalışma alanınızın Yönetilen Prometheus>Prometheus gezgini bölümüne gidin. Kılavuz sekmesini seçin ve PromQL kutusunda örnek bir DCGM GPU ölçümü arayın. Örneğin DCGM_FI_DEV_SM_CLOCK:

    Azure portalında bir Azure İzleyici çalışma alanının Ölçümler bölümünün ekran görüntüsü.

  5. Yönetilen Grafana örneğiniz üzerinde Azure Yönetilen Grafana'da pano oluşturma bölümündeki adımları kullanarak dcgm-exporter-dashboard.json'ı içeri aktarın. JSON içeri aktarıldıktan sonra GPU ölçümlerini görüntüleyen pano Grafana örneğinizde görünür olmalıdır.

    NVIDIA DCGM Exporter panosunun ekran görüntüsü.

Sonraki adımlar