Men-deploy workload container GPU

Halaman ini menjelaskan cara men-deploy workload container GPU di SKU yang Dioptimalkan untuk AI Sandbox Google Distributed Cloud (GDC).

Men-deploy workload container GPU

SKU yang Dioptimalkan untuk AI Sandbox GDC mencakup empat GPU HBM3 80 GB NVIDIA H100 dalam cluster org-infra. GPU ini dapat diakses menggunakan nama resource nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3. Bagian ini menjelaskan cara memperbarui konfigurasi penampung untuk menggunakan GPU ini.

GPU di SKU yang Dioptimalkan AI Sandbox GDC dikaitkan dengan project yang telah dikonfigurasi sebelumnya, "sandbox-gpu-project". Anda harus men-deploy container menggunakan project ini untuk menggunakan GPU.

Sebelum memulai

  • Untuk menjalankan perintah terhadap cluster infrastruktur org, pastikan Anda memiliki kubeconfig cluster org-1-infra, seperti yang dijelaskan dalam Bekerja dengan cluster:

    • Mengonfigurasi dan melakukan autentikasi dengan command line gdcloud, dan
    • buat file kubeconfig untuk cluster infrastruktur org, dan tetapkan jalurnya ke variabel lingkungan KUBECONFIG.
  • Untuk menjalankan workload, Anda harus memiliki peran sandbox-gpu-admin yang ditetapkan. Secara default, peran ditetapkan kepada pengguna platform-admin. Anda dapat menetapkan peran kepada pengguna lain dengan login sebagai platform-admin dan menjalankan perintah berikut:

    kubectl --kubeconfig ${KUBECONFIG} create rolebinding ${NAME} --role=sandbox-gpu-admin \
    --user=${USER} --namespace=sandbox-gpu-project
    

Mengonfigurasi container untuk menggunakan resource GPU

  1. Tambahkan kolom .containers.resources.requests dan .containers.resources.limits ke spesifikasi container Anda untuk meminta GPU bagi workload. Semua container dalam sandbox-gpu-project dapat meminta hingga total 4 GPU di seluruh project. Contoh berikut meminta satu GPU sebagai bagian dari spesifikasi container.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
      namespace: sandbox-gpu-project
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:latest
            resources:
            requests:
                nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3: 1
            limits:
                nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3: 1
    
  1. Kontainer juga memerlukan izin tambahan untuk mengakses GPU. Untuk setiap container yang meminta GPU, tambahkan izin berikut ke spesifikasi container Anda:

    securityContext:
    seLinuxOptions:
      type: unconfined_t
    
  2. Terapkan file manifes penampung Anda:

    kubectl apply -f ${CONTAINER_MANIFEST_FILE_PATH} \
        -n sandbox-gpu-project \
        --kubeconfig ${KUBECONFIG}