Buat cluster GKE yang dioptimalkan untuk AI yang menggunakan A2

Dokumen ini menjelaskan cara membuat cluster Google Kubernetes Engine (GKE) kustom yang menggunakan jenis mesin yang dioptimalkan untuk akselerator A2 Standard (A100 40 GB) atau A2 Ultra (A100 80 GB) untuk mendukung workload kecerdasan buatan (AI) dan machine learning (ML) Anda. A2 adalah seri mesin GPU Umum, yang menyediakan resource komputasi independen yang dirancang untuk tugas AI umum seperti melatih model yang lebih kecil dan inferensi host tunggal.

GKE menyediakan satu platform untuk menjalankan beragam workload bagi organisasi Anda, sehingga mengurangi beban operasional dalam mengelola beberapa platform.

Untuk membuat cluster GKE yang dioptimalkan untuk AI yang menggunakan seri mesin A2, Anda harus melakukan hal berikut:

  1. Buat lingkungan GKE
  2. Menghubungkan ke cluster Anda
  3. Mengonfigurasi manifes Pod Anda

Sebelum memulai

Sebelum memulai, pastikan Anda telah melakukan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Untuk menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan perintah gcloud components update. Versi gcloud CLI yang lebih lama mungkin tidak mendukung menjalankan perintah dalam dokumen ini.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna membuat dan mengelola cluster GKE, minta administrator untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Memilih opsi pemakaian dan mendapatkan kapasitas

  1. Pilih opsi pemakaian. Buat pilihan berdasarkan cara Anda ingin mendapatkan dan menggunakan resource GPU. Untuk mengetahui informasi selengkapnya, lihat Memilih opsi pemakaian.

    Untuk GKE, pertimbangkan informasi tambahan berikut saat Anda memilih opsi penggunaan:

  2. Dapatkan kapasitas. Pelajari cara mendapatkan kapasitas untuk opsi penggunaan Anda.

Persyaratan

Untuk cluster GKE yang dioptimalkan untuk AI yang menggunakan mesin A2, node GPU Anda harus menggunakan driver NVIDIA versi 450.80.02 atau yang lebih baru.

Batasan

Batasan berikut berlaku untuk mesin A2 sebagai GPU Umum:

  • GPU multi-instance: Meskipun A2 (GPU A100) mendukung partisi hardware, GPU multi-instance (NVIDIA) tidak didukung saat menggunakan GKE Autopilot. Untuk workload yang memerlukan partisi GPU A100, Anda harus menggunakan GKE Standard.

Buat lingkungan GKE

Anda dapat membuat cluster dalam mode Autopilot atau Standard.

Autopilot

Untuk membuat cluster Autopilot, jalankan perintah berikut:

  gcloud container clusters create-auto CLUSTER_NAME \
      --region=REGION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda.
  • REGION: region untuk cluster Anda.

Standar

Buat cluster Standar dan node pool GPU:

  1. Untuk membuat cluster Standard, jalankan perintah berikut:

    gcloud container clusters create CLUSTER_NAME \
        --region=REGION \
        --enable-ip-alias
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster Anda.
    • REGION: region untuk cluster Anda.
  2. Buat node pool. Setelah membuat cluster, Anda dapat menambahkan node pool dengan GPU A2.

    Perhatikan hal berikut:

    • Jenis mesin Standar A2 (a2-highgpu) mengharuskan Anda memasang disk SSD Lokal secara manual ke node untuk menggunakannya sebagai ruang sementara atau caching. Gunakan flag --local-ssd-count.
    • Jenis mesin Ultra A2 (a2-ultragpu) secara otomatis menyertakan jumlah disk SSD Lokal yang tetap secara default.
    • Untuk workload pelatihan multi-node, sebaiknya gunakan kebijakan penempatan yang ringkas untuk meminimalkan latensi jaringan antar-node.
    • Untuk workload pelatihan multi-node, sebaiknya aktifkan juga NCCL Fast Socket untuk meningkatkan performa jaringan.

    A2 Standard (A100 40GB)

    gcloud container node-pools create NODE_POOL_NAME \
        --cluster=CLUSTER_NAME \
        --region=REGION \
        --node-locations=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=nvidia-tesla-a100,count=AMOUNT,gpu-driver-version=LATEST \
        --placement-type=COMPACT \
        --scopes="https://www.googleapis.com/auth/cloud-platform" \
        --local-ssd-count=LOCAL_SSD_COUNT
    

    A2 Ultra (A100 80GB)

    gcloud container node-pools create NODE_POOL_NAME \
        --cluster=CLUSTER_NAME \
        --region=REGION \
        --node-locations=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=nvidia-a100-80gb,count=AMOUNT,gpu-driver-version=LATEST \
        --placement-type=COMPACT \
        --scopes="https://www.googleapis.com/auth/cloud-platform"
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster Anda.
    • REGION: region untuk cluster Anda.
    • ZONE: satu atau beberapa zona dalam region Anda yang memiliki GPU yang diminta tersedia, misalnya, us-central1-a. Parameter ini diperlukan saat menggunakan penempatan ringkas.
    • NODE_POOL_NAME: nama node pool Anda.
    • MACHINE_TYPE: jenis mesin untuk node Anda, misalnya, a2-highgpu-1g.
    • AMOUNT: jumlah GPU yang akan dipasang ke setiap node.
    • LOCAL_SSD_COUNT: jumlah volume SSD Lokal yang akan disediakan di setiap node.

Hubungkan ke cluster Anda

Hubungkan ke cluster agar Anda dapat menjalankan perintah kubectl di bagian berikutnya:

gcloud container clusters get-credentials CLUSTER_NAME \
    --region=REGION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda.
  • REGION: region untuk cluster Anda.

Untuk mengetahui informasi selengkapnya, lihat Menginstal kubectl dan mengonfigurasi akses cluster.

Mengonfigurasi manifes Pod Anda (khusus Autopilot)

Jika membuat cluster Autopilot, Anda harus memilih GPU yang sesuai dalam manifes Pod agar GKE menyediakan hardware.

  1. Tentukan jenis GPU yang dipilih dan reservasi tertentu menggunakan pemilih node:

    spec:
      nodeSelector:
        cloud.google.com/gke-accelerator: ACCELERATOR
        cloud.google.com/gke-gpu-driver-version: latest
        # Optional: Include if using reserved capacity
        cloud.google.com/reservation-name: RESERVATION_NAME
        cloud.google.com/reservation-affinity: "specific"
    

    Ganti kode berikut:

    • ACCELERATOR: akselerator yang Anda pesan. Anda harus menggunakan nvidia-tesla-a100 (untuk A2 Standard) atau nvidia-a100-80gb (untuk A2 Ultra).
    • RESERVATION_NAME: nama reservasi kapasitas Compute Engine. Untuk memakai reservasi bersama, atau blok dan sub-blok reservasi tertentu, lihat bagian masing-masing di Memakai resource jalur zona yang dicadangkan.
  2. Tambahkan resource berikut ke container yang meminta GPU:

    containers:
      - name: my-container
        resources:
          limits:
            nvidia.com/gpu: AMOUNT
    

    Ganti AMOUNT dengan jumlah GPU yang akan dipasang ke setiap node.

Langkah berikutnya