Buat cluster GKE khusus yang dioptimalkan untuk AI yang menggunakan N1

Dokumen ini menjelaskan cara membuat cluster Google Kubernetes Engine (GKE) kustom yang menggunakan seri mesin tujuan umum N1 dengan GPU NVIDIA T4 atau V100 terpasang untuk mendukung workload kecerdasan buatan (AI) dan machine learning (ML) Anda. Mesin N1 dengan GPU terpasang dianggap sebagai GPU Umum, yang menyediakan resource komputasi independen yang dirancang untuk tugas AI mainstream seperti inferensi skala kecil hingga menengah dan aplikasi yang intensif grafis.

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

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

  1. Membuat 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
  • Jika ingin 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 perintah yang dijalankan dalam dokumen ini.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk 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.

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

Persyaratan

Untuk cluster GKE yang dioptimalkan untuk AI yang menggunakan N1, node Anda harus menggunakan driver NVIDIA versi 535 atau yang lebih baru.

Batasan

Batasan berikut berlaku untuk N1 sebagai seri mesin GPU Umum:

  • GPU multi-instance (NVIDIA): Seri mesin N1 tidak mendukung GPU multi-instance (NVIDIA).
  • NCCL Fast Socket: Anda tidak dapat menggunakan NCCL Fast Socket dengan mesin N1 di GKE. Meskipun mesin N1 mendukung komunikasi multi-node, mesin ini menggunakan jaringan VPC standar. Untuk pelatihan terdistribusi skala besar yang memerlukan throughput jaringan maksimum, kami merekomendasikan penggunaan seri mesin GPU Bercluster, seperti A3 High atau A3 Mega (yang menggunakan GPUDirect TCPX) atau A3 Ultra dan A4 (yang menggunakan GPUDirect RDMA).

Membuat lingkungan GKE

Anda dapat membuat cluster dalam mode Autopilot atau Standar.

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 Standar, 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 mesin N1 dengan GPU T4 atau V100 terpasang.

    Untuk membuat node pool, gunakan perintah berikut:

    N1 dengan GPU T4 terpasang

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

    N1 dengan GPU V100 terpasang

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

    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, misalnya, us-central1-a. Hal ini diperlukan saat menggunakan penempatan rapat.
    • NODE_POOL_NAME: nama node pool Anda.
    • MACHINE_TYPE: jenis mesin N1 untuk node Anda, misalnya, n1-standard-4.
    • AMOUNT: jumlah GPU yang akan dipasang ke setiap node.
    • LOCAL_SSD_COUNT: jumlah volume SSD Lokal yang akan disediakan di setiap node.

Menghubungkan ke cluster Anda

Hubungkan ke cluster Anda agar 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 (khusus Autopilot)

Jika Anda 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 ingin Anda gunakan. Gunakan nvidia-tesla-t4 untuk GPU T4, atau nvidia-tesla-v100 untuk GPU V100.
    • RESERVATION_NAME: nama reservasi kapasitas Compute Engine. Untuk menggunakan reservasi bersama, atau blok dan sub-blok reservasi tertentu, lihat bagian yang relevan di Menggunakan 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