Membuat cluster GKE yang dioptimalkan untuk AI dengan Cluster Toolkit

Dokumen ini menunjukkan cara membuat cluster Google Kubernetes Engine (GKE) yang dioptimalkan untuk AI yang menggunakan instance Compute Engine A4X, A4, A3 Ultra, A3 Mega, dan A3 High (8 GPU) untuk mendukung workload AI dan ML Anda.

Seri mesin A4X, A4, A3 Ultra, A3 Mega, dan A3 High (8 GPU) dirancang untuk memungkinkan Anda menjalankan cluster AI/ML berskala besar dengan fitur seperti penempatan workload yang ditargetkan, kontrol pemeliharaan cluster tingkat lanjut, dan penjadwalan yang sesuai topologi. Untuk mengetahui informasi selengkapnya, lihat Ringkasan pengelolaan cluster.

GKE menyediakan satu platform untuk menjalankan beragam workload sesuai kebutuhan organisasi Anda. Workload ini mencakup prapelatihan terdistribusi berperforma tinggi, penyesuaian model, inferensi model, penayangan aplikasi, dan layanan pendukung. GKE mengurangi beban operasional dalam mengelola beberapa platform.

Memilih cara membuat cluster GKE yang dioptimalkan untuk AI

Opsi berikut untuk pembuatan cluster masing-masing memberikan berbagai tingkat kemudahan dan fleksibilitas dalam konfigurasi cluster dan penjadwalan workload:

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.
  • Pastikan Anda memiliki izin yang diperlukan untuk membuat dan mengelola cluster GKE serta akun layanan terkait:
    • Kubernetes Engine Admin (roles/container.admin)
    • Compute Admin (roles/compute.admin)
    • Storage Admin (roles/storage.admin)
    • Project IAM Admin (roles/resourcemanager.projectIamAdmin)
    • (roles/iam.serviceAccountAdmin) Admin Akun Layanan
    • (roles/iam.serviceAccountUser) Pengguna Akun Layanan
    • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
    • Role Administrator (roles/iam.roleAdmin)
    • Secret Manager Secret Version Manager (roles/secretmanager.secretVersionManager)
    • Untuk menggunakan reservasi project tunggal: Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di project
    • Untuk menggunakan pemesanan bersama: Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di project pemilik dan project konsumen tempat Anda ingin menggunakan pemesanan

Memilih opsi pemakaian dan mendapatkan kapasitas

Untuk mendapatkan kapasitas, selesaikan langkah-langkah berikut:

  1. Pilih opsi pemakaian: Tentukan pilihan Anda berdasarkan cara Anda ingin mendapatkan dan menggunakan resource GPU. Untuk mempelajari lebih lanjut, lihat Memilih opsi konsumsi.

    Untuk GKE, pertimbangkan informasi tambahan berikut saat memilih opsi konsumsi:

  2. Mendapatkan kapasitas: Proses untuk mendapatkan kapasitas berbeda untuk setiap opsi konsumsi. Untuk mempelajari proses opsi konsumsi yang Anda pilih, lihat Ringkasan kapasitas.

Persyaratan

Persyaratan berikut berlaku untuk cluster GKE yang dioptimalkan untuk AI:

  • Untuk A4X Max, Anda harus menggunakan salah satu versi berikut:

    • Untuk 1.35 atau yang lebih baru, gunakan GKE versi 1.35.0-gke.2745000 atau yang lebih baru.
    • Untuk 1.34, gunakan GKE versi 1.34.3-gke.1318000 atau yang lebih baru.

    Versi ini membantu memastikan bahwa A4X Max menggunakan hal berikut:

    • R580.95.05, versi driver GPU minimum untuk A4X Max, yang diaktifkan secara default.
    • Coherent Driver-based Memory Management (CDMM), yang diaktifkan secara default. NVIDIA merekomendasikan agar cluster Kubernetes mengaktifkan mode ini untuk mengatasi pelaporan memori yang berlebihan. CDMM memungkinkan memori GPU dikelola melalui driver, bukan sistem operasi (OS). Pendekatan ini membantu Anda menghindari pengaktifan memori GPU oleh OS, dan mengekspos memori GPU sebagai node Non-Uniform Memory Access (NUMA) ke OS. GPU multi-instance tidak didukung saat CDMM diaktifkan. Untuk mengetahui informasi selengkapnya tentang CDMM, lihat Dukungan Hardware dan Software.
    • GPUDirect RDMA dan MNNVL, yang direkomendasikan untuk memungkinkan node pool A4X Max menggunakan kemampuan jaringan A4X Max.
  • Untuk A4X, Anda harus menggunakan salah satu versi berikut:

    • Untuk 1.33 atau yang lebih baru, gunakan GKE versi 1.33.4-gke.1036000 atau yang lebih baru.
    • Untuk 1.32, gunakan GKE versi 1.32.8-gke.1108000 atau yang lebih baru.

    Versi ini membantu memastikan bahwa A4X menggunakan hal berikut:

    • R580, versi driver GPU minimum untuk A4X, yang diaktifkan secara default.
    • Coherent Driver-based Memory Management (CDMM), yang diaktifkan secara default. NVIDIA merekomendasikan agar cluster Kubernetes mengaktifkan mode ini untuk mengatasi pelaporan memori yang berlebihan. CDMM memungkinkan memori GPU dikelola melalui driver, bukan sistem operasi (OS). Pendekatan ini membantu Anda menghindari pengaktifan memori GPU oleh OS, dan mengekspos memori GPU sebagai node Non-Uniform Memory Access (NUMA) ke OS. GPU multi-instance tidak didukung saat CDMM diaktifkan. Untuk mengetahui informasi selengkapnya tentang CDMM, lihat Dukungan Hardware dan Software.
    • GPUDirect RDMA dan MNNVL, yang direkomendasikan untuk memungkinkan node pool A4X menggunakan kemampuan jaringan A4X.
  • Pastikan Anda menggunakan versi driver GPU minimum, bergantung pada jenis mesin:

    • A4X Max: GPU GB300 di instance bare metal A4X Max memerlukan versi driver GPU minimum R580.95.05. Lihat persyaratan versi yang disebutkan sebelumnya.
    • A4X: GPU GB200 di instance A4X memerlukan versi driver GPU minimal R580. Lihat persyaratan versi yang disebutkan sebelumnya.
    • A4: GPU B200 di instance A4 memerlukan versi driver GPU minimum R570. GKE, secara default, otomatis menginstal versi driver ini di semua node A4 yang menjalankan versi minimum yang diperlukan untuk A4, 1.32.1-gke.1729000 atau yang lebih baru.
    • A3 Ultra: GPU H200 di instance A3 Ultra memerlukan driver GPU versi minimum R550, yang tersedia di GKE 1.31 sebagai driver versi latest. Untuk A3 Ultra, Anda harus menetapkan gpu-driver-version=latest dengan GKE 1.31. Untuk GKE versi 1.31.5-gke.1169000 atau yang lebih baru, GKE, secara default, otomatis menginstal versi driver GPU R550 di node A3 Ultra.
    • A3 Mega dan A3 High: GPU H100 di instance A3 High dan A3 Mega didukung oleh versi driver GPU default di semua versi GKE yang didukung. Anda juga dapat menetapkan gpu-driver-version=latest untuk mengakses driver produksi yang lebih baru yang tersedia di versi GKE yang didukung.
  • Untuk node pool A3 Ultra, Anda harus menetapkan jenis disk ke hyperdisk-balanced.

  • Untuk menggunakan GPUDirect RDMA, gunakan versi minimum berikut, bergantung pada jenis mesin:

    • A4X Max: Lihat persyaratan versi yang disebutkan sebelumnya.
    • A4X: lihat persyaratan versi yang disebutkan sebelumnya.
    • A4: gunakan 1.32.2-gke.1475000 atau yang lebih baru.
    • A3 Ultra: gunakan 1.31.4-gke.1183000 atau yang lebih baru.
  • Untuk menggunakan GPUDirect-TCPXO (untuk A3 Mega) dan GPUDirect-TCPX (untuk A3 High), gunakan versi GKE berikut:

    • A3 High: gunakan versi GKE yang tersedia sebelum 1.34.
    • A3 Mega: gunakan versi GKE yang tersedia.
  • Untuk menggunakan GPUDirect RDMA, node GKE harus menggunakan image node Container-Optimized OS. Image node Ubuntu dan Windows tidak didukung.

  • Anda harus menggunakan model penyediaan terikat pemesanan untuk membuat cluster dengan A4X Max dan A4X. Model penyediaan lainnya tidak didukung.

Membuat cluster dengan Cluster Toolkit

Gunakan petunjuk berikut untuk membuat cluster menggunakan Cluster Toolkit. Bagian ini memandu Anda melalui proses pembuatan cluster, memastikan bahwa project Anda mengikuti praktik terbaik dan memenuhi persyaratan untuk cluster GKE yang dioptimalkan untuk AI. Bagian ini juga menunjukkan cara menggunakan Terraform untuk menyediakan dan mengelola infrastruktur untuk deployment Anda.

A4X Max

  1. Luncurkan Cloud Shell. Meskipun Anda dapat menggunakan lingkungan yang berbeda, sebaiknya gunakan Cloud Shell karena dependensi sudah diinstal sebelumnya untuk Cluster Toolkit. Jika Anda tidak ingin menggunakan Cloud Shell, ikuti petunjuk untuk menginstal dependensi guna menyiapkan lingkungan yang berbeda.
  2. Instal Cluster Toolkit.

  3. Buat bucket Cloud Storage dengan pembuatan versi diaktifkan untuk menyimpan status deployment Terraform Anda:

    gcloud storage buckets create gs://BUCKET_NAME \
        --default-storage-class=STANDARD \
        --project=PROJECT_ID \
        --location=COMPUTE_REGION_TERRAFORM_STATE \
        --uniform-bucket-level-access
    gcloud storage buckets update gs://BUCKET_NAME --versioning

    Ganti variabel berikut:

    • BUCKET_NAME: nama bucket Cloud Storage baru, yang harus memenuhi persyaratan penamaan bucket.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • COMPUTE_REGION_TERRAFORM_STATE: region komputasi tempat Anda ingin menyimpan status deployment Terraform.
  4. Di blueprint examples/gke-a4x-max-bm/gke-a4x-max-bm-deployment.yaml dari repositori GitHub, isi setelan berikut di bagian terraform_backend_defaults dan vars agar sesuai dengan nilai spesifik untuk deployment Anda:

    • BUCKET: nama bucket Cloud Storage yang Anda buat di langkah sebelumnya.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • DEPLOYMENT_NAME: nama unik untuk deployment, yang harus memiliki panjang antara 6 dan 30 karakter. Jika nama deployment tidak unik dalam sebuah project, pembuatan cluster akan gagal. Nilai defaultnya adalah gke-a4x-max-bm.
    • REGION: region komputasi untuk cluster.
    • ZONE: zona komputasi untuk node pool mesin A4X Max. Zona ini harus cocok dengan zona tempat mesin tersedia dalam pemesanan Anda.
    • STATIC_NODE_COUNT: jumlah node A4X Max dalam node pool cluster Anda, yang harus berjumlah 18 node atau kurang. Sebaiknya gunakan 18 node untuk mendapatkan topologi GPU 1x72 dalam satu subblok menggunakan domain NVLink.
    • AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung ke cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.
    • Untuk kolom reservation, gunakan salah satu dari berikut ini, tergantung apakah Anda ingin menargetkan blok tertentu dalam reservasi saat menyediakan node pool:

    • Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (RESERVATION_NAME).

    • Untuk menargetkan blok tertentu dalam pemesanan Anda, gunakan nama pemesanan dan blok dalam format berikut:

      RESERVATION_NAME/reservationBlocks/BLOCK_NAME
      

      Jika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.

    • RESERVATION_PROJECT_ID: Google Cloud project ID yang memiliki pemesanan. Pemesanan Anda mungkin ada di project yang berbeda dari PROJECT_ID.

    • NUM_NODE_POOLS: jumlah node pool yang akan diaktifkan di cluster Anda. Jika menginginkan cluster yang lebih besar dari 18 node, Anda dapat menentukan beberapa node pool. Nilai defaultnya adalah 1.

    Untuk mengubah setelan lanjutan, edit file blueprint examples/gke-a4x-max-bm/gke-a4x-max-bm.yaml.

  5. Buat Kredensial Default Aplikasi (ADC) untuk memberikan akses ke Terraform. Jika Anda menggunakan Cloud Shell, gunakan perintah gcloud auth application-default login:

    gcloud auth application-default login
    
  6. Gunakan perintah gcluster deploy untuk men-deploy blueprint dan menyediakan infrastruktur GKE menggunakan jenis mesin A4X Max:

    cd ~/cluster-toolkit
    ./gcluster deploy -d \
        examples/gke-a4x-max-bm/gke-a4x-max-bm-deployment.yaml \
        examples/gke-a4x-max-bm/gke-a4x-max-bm.yaml
    
  7. Saat diminta, pilih (A)pply untuk men-deploy blueprint.

    • Blueprint ini membuat jaringan VPC, jaringan VPC RDMA GPU, akun layanan, cluster, dan node pool.
    • Untuk mendukung template Tugas fio-bench-job-template dalam blueprint, resource bucket, penyimpanan jaringan, dan persistent volumeGoogle Cloud akan dibuat.

A4X

  1. Luncurkan Cloud Shell. Meskipun Anda dapat menggunakan lingkungan yang berbeda, sebaiknya gunakan Cloud Shell karena dependensi sudah diinstal sebelumnya untuk Cluster Toolkit. Jika Anda tidak ingin menggunakan Cloud Shell, ikuti petunjuk untuk menginstal dependensi guna menyiapkan lingkungan yang berbeda.
  2. Instal Cluster Toolkit.

  3. Buat bucket Cloud Storage dengan pembuatan versi diaktifkan untuk menyimpan status deployment Terraform Anda:

    gcloud storage buckets create gs://BUCKET_NAME \
        --default-storage-class=STANDARD \
        --project=PROJECT_ID \
        --location=COMPUTE_REGION_TERRAFORM_STATE \
        --uniform-bucket-level-access
    gcloud storage buckets update gs://BUCKET_NAME --versioning

    Ganti variabel berikut:

    • BUCKET_NAME: nama bucket Cloud Storage baru, yang harus memenuhi persyaratan penamaan bucket.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • COMPUTE_REGION_TERRAFORM_STATE: region komputasi tempat Anda ingin menyimpan status deployment Terraform.
  4. Dalam blueprint examples/gke-a4x/gke-a4x-deployment.yaml dari repositori GitHub, isi setelan berikut di bagian terraform_backend_defaults dan vars agar sesuai dengan nilai spesifik untuk deployment Anda:

    • BUCKET: nama bucket Cloud Storage yang Anda buat di langkah sebelumnya.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • DEPLOYMENT_NAME: nama unik untuk deployment, yang harus memiliki panjang antara 6 dan 30 karakter. Jika nama deployment tidak unik dalam sebuah project, pembuatan cluster akan gagal. Nilai defaultnya adalah gke-a4x.
    • REGION: region komputasi untuk cluster.
    • ZONE: zona komputasi untuk node pool mesin A4X. Zona ini harus cocok dengan zona tempat mesin tersedia dalam pemesanan Anda.
    • STATIC_NODE_COUNT: jumlah node A4X di node pool cluster Anda, yang harus berjumlah 18 node atau kurang. Sebaiknya gunakan 18 node untuk mendapatkan topologi GPU 1x72 dalam satu subblok menggunakan domain NVLink.
    • AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung ke cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.
    • Untuk kolom reservation, gunakan salah satu dari berikut ini, tergantung apakah Anda ingin menargetkan blok tertentu dalam reservasi saat menyediakan node pool:

    • Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (RESERVATION_NAME).

    • Untuk menargetkan blok tertentu dalam pemesanan Anda, gunakan nama pemesanan dan blok dalam format berikut:

      RESERVATION_NAME/reservationBlocks/BLOCK_NAME
      

      Jika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.

    • RESERVATION_PROJECT_ID: Google Cloud project ID yang memiliki pemesanan. Pemesanan Anda mungkin ada di project yang berbeda dari PROJECT_ID.

    • NUM_NODE_POOLS: jumlah node pool yang akan diaktifkan di cluster Anda. Jika menginginkan cluster yang lebih besar dari 18 node, Anda dapat menentukan beberapa node pool. Nilai defaultnya adalah 1.

    Untuk mengubah setelan lanjutan, edit file blueprint examples/gke-a4x/gke-a4x.yaml.

  5. Buat Kredensial Default Aplikasi (ADC) untuk memberikan akses ke Terraform. Jika Anda menggunakan Cloud Shell, gunakan perintah gcloud auth application-default login:

    gcloud auth application-default login
    
  6. Gunakan perintah gcluster deploy untuk men-deploy blueprint dan menyediakan infrastruktur GKE menggunakan jenis mesin A4X:

    cd ~/cluster-toolkit
    ./gcluster deploy -d \
        examples/gke-a4x/gke-a4x-deployment.yaml \
        examples/gke-a4x/gke-a4x.yaml
    
  7. Saat diminta, pilih (A)pply untuk men-deploy blueprint.

    • Blueprint ini membuat jaringan VPC, jaringan VPC RDMA GPU, akun layanan, cluster, dan node pool.
    • Untuk mendukung template Tugas fio-bench-job-template dalam blueprint, resource bucket, penyimpanan jaringan, dan persistent volumeGoogle Cloud akan dibuat.

A4

  1. Luncurkan Cloud Shell. Meskipun Anda dapat menggunakan lingkungan yang berbeda, sebaiknya gunakan Cloud Shell karena dependensi sudah diinstal sebelumnya untuk Cluster Toolkit. Jika Anda tidak ingin menggunakan Cloud Shell, ikuti petunjuk untuk menginstal dependensi guna menyiapkan lingkungan yang berbeda.
  2. Instal Cluster Toolkit.

  3. Buat bucket Cloud Storage dengan pembuatan versi diaktifkan untuk menyimpan status deployment Terraform Anda:

    gcloud storage buckets create gs://BUCKET_NAME \
        --default-storage-class=STANDARD \
        --project=PROJECT_ID \
        --location=COMPUTE_REGION_TERRAFORM_STATE \
        --uniform-bucket-level-access
    gcloud storage buckets update gs://BUCKET_NAME --versioning

    Ganti variabel berikut:

    • BUCKET_NAME: nama bucket Cloud Storage baru, yang harus memenuhi persyaratan penamaan bucket.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • COMPUTE_REGION_TERRAFORM_STATE: region komputasi tempat Anda ingin menyimpan status deployment Terraform.
  4. Pilih opsi pemakaian untuk deployment GKE Anda:

    Secara default, file deployment dikonfigurasi untuk menggunakan reservasi khusus. Untuk menggunakan model pemakaian alternatif (seperti Spot VM atau mode penyediaan flex-start), perbarui file YAML deployment Anda. Untuk mengetahui informasi selengkapnya, lihat opsi konsumsi GKE.

  5. Dalam blueprint examples/gke-a4/gke-a4-deployment.yaml dari repositori GitHub, isi setelan berikut di bagian terraform_backend_defaults dan vars agar sesuai dengan nilai spesifik untuk deployment Anda:

    • BUCKET: nama bucket Cloud Storage yang Anda buat di langkah sebelumnya.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • DEPLOYMENT_NAME: nama unik untuk deployment, yang harus memiliki panjang antara 6 dan 30 karakter. Jika nama deployment tidak unik dalam sebuah project, pembuatan cluster akan gagal. Nilai defaultnya adalah gke-a4.
    • REGION: region komputasi untuk cluster.
    • ZONE: zona komputasi untuk node pool mesin A4. Zona ini harus cocok dengan zona tempat mesin tersedia dalam pemesanan Anda.
    • AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung ke cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.
    • Di bagian pemesanan tertentu, konfigurasikan setelan berikut:
    • Di blok reservation_affinity, dalam daftar specific_reservations, tentukan kolom name pemesanan:

      • Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (RESERVATION_NAME).
      • Untuk menargetkan blok tertentu dalam pemesanan Anda, gunakan nama pemesanan dan blok dalam format berikut:
      RESERVATION_NAME/reservationBlocks/BLOCK_NAME
      

      Jika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.

    • STATIC_NODE_COUNT: jumlah node A4 di cluster Anda.

    Untuk mengubah setelan lanjutan, edit file blueprint examples/gke-a4/gke-a4.yaml.

  6. Buat Kredensial Default Aplikasi (ADC) untuk memberikan akses ke Terraform. Jika Anda menggunakan Cloud Shell, gunakan perintah gcloud auth application-default login:

    gcloud auth application-default login
    
  7. Gunakan perintah gcluster deploy untuk men-deploy blueprint dan menyediakan infrastruktur GKE menggunakan jenis mesin A4:

    cd ~/cluster-toolkit
    ./gcluster deploy -d \
        examples/gke-a4/gke-a4-deployment.yaml \
        examples/gke-a4/gke-a4.yaml
    
  8. Saat diminta, pilih (A)pply untuk men-deploy blueprint.

    • Blueprint ini membuat jaringan VPC, jaringan VPC RDMA GPU, akun layanan, cluster, dan node pool.
    • Untuk mendukung template Tugas fio-bench-job-template dalam blueprint, resource bucket, penyimpanan jaringan, dan persistent volumeGoogle Cloud akan dibuat.

A3 Ultra

  1. Luncurkan Cloud Shell. Meskipun Anda dapat menggunakan lingkungan yang berbeda, sebaiknya gunakan Cloud Shell karena dependensi sudah diinstal sebelumnya untuk Cluster Toolkit. Jika Anda tidak ingin menggunakan Cloud Shell, ikuti petunjuk untuk menginstal dependensi guna menyiapkan lingkungan yang berbeda.
  2. Instal Cluster Toolkit.

  3. Buat bucket Cloud Storage dengan pembuatan versi diaktifkan untuk menyimpan status deployment Terraform Anda:

    gcloud storage buckets create gs://BUCKET_NAME \
        --default-storage-class=STANDARD \
        --project=PROJECT_ID \
        --location=COMPUTE_REGION_TERRAFORM_STATE \
        --uniform-bucket-level-access
    gcloud storage buckets update gs://BUCKET_NAME --versioning

    Ganti variabel berikut:

    • BUCKET_NAME: nama bucket Cloud Storage baru, yang harus memenuhi persyaratan penamaan bucket.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • COMPUTE_REGION_TERRAFORM_STATE: region komputasi tempat Anda ingin menyimpan status deployment Terraform.
  4. Pilih opsi pemakaian untuk deployment GKE Anda:

    Secara default, file deployment dikonfigurasi untuk menggunakan reservasi khusus. Untuk menggunakan model pemakaian alternatif (seperti Spot VM atau mode penyediaan flex-start), perbarui file YAML deployment Anda. Untuk mengetahui informasi selengkapnya, lihat opsi konsumsi GKE.

  5. Di blueprint examples/gke-a3-ultragpu/gke-a3-ultragpu-deployment.yaml dari repositori GitHub, isi setelan berikut di bagian terraform_backend_defaults dan vars agar sesuai dengan nilai spesifik untuk deployment Anda:

    • BUCKET: nama bucket Cloud Storage yang Anda buat di langkah sebelumnya.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • DEPLOYMENT_NAME: nama unik untuk deployment, yang harus memiliki panjang antara 6 dan 30 karakter. Jika nama deployment tidak unik dalam sebuah project, pembuatan cluster akan gagal. Nilai defaultnya adalah gke-a3-ultragpu.
    • REGION: region komputasi untuk cluster.
    • ZONE: zona komputasi untuk node pool mesin A3 Ultra. Zona ini harus cocok dengan zona tempat mesin tersedia dalam pemesanan Anda.
    • AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung ke cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.
    • Di bagian pemesanan tertentu, konfigurasikan setelan berikut:
    • Di blok reservation_affinity, dalam daftar specific_reservations, tentukan kolom name pemesanan:

      • Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (RESERVATION_NAME).
      • Untuk menargetkan blok tertentu dalam pemesanan Anda, gunakan nama pemesanan dan blok dalam format berikut:
      RESERVATION_NAME/reservationBlocks/BLOCK_NAME
      

      Jika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.

    • STATIC_NODE_COUNT: jumlah node A3 Ultra di cluster Anda.

    Untuk mengubah setelan lanjutan, edit file blueprint examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml.

  6. Buat Kredensial Default Aplikasi (ADC) untuk memberikan akses ke Terraform. Jika Anda menggunakan Cloud Shell, gunakan perintah gcloud auth application-default login:

    gcloud auth application-default login
    
  7. Gunakan perintah gcluster deploy untuk men-deploy blueprint dan menyediakan infrastruktur GKE menggunakan jenis mesin A3 Ultra:

    cd ~/cluster-toolkit
    ./gcluster deploy -d \
        examples/gke-a3-ultragpu/gke-a3-ultragpu-deployment.yaml \
        examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml
    
  8. Saat diminta, pilih (A)pply untuk men-deploy blueprint.

    • Blueprint ini membuat jaringan VPC, jaringan VPC RDMA GPU, akun layanan, cluster, dan node pool.
    • Untuk mendukung template Tugas fio-bench-job-template dalam blueprint, resource bucket, penyimpanan jaringan, dan persistent volumeGoogle Cloud akan dibuat.

A3 Mega

  1. Luncurkan Cloud Shell. Meskipun Anda dapat menggunakan lingkungan yang berbeda, sebaiknya gunakan Cloud Shell karena dependensi sudah diinstal sebelumnya untuk Cluster Toolkit. Jika Anda tidak ingin menggunakan Cloud Shell, siapkan lingkungan lain dengan mengikuti petunjuk untuk menginstal dependensi.
  2. Instal Cluster Toolkit.

  3. Buat bucket Cloud Storage dengan pembuatan versi diaktifkan untuk menyimpan status deployment Terraform Anda:

    gcloud storage buckets create gs://BUCKET_NAME \
        --default-storage-class=STANDARD \
        --project=PROJECT_ID \
        --location=COMPUTE_REGION_TERRAFORM_STATE \
        --uniform-bucket-level-access
    gcloud storage buckets update gs://BUCKET_NAME --versioning

    Ganti variabel berikut:

    • BUCKET_NAME: nama bucket Cloud Storage baru, yang harus memenuhi persyaratan penamaan bucket.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • COMPUTE_REGION_TERRAFORM_STATE: region komputasi tempat Anda ingin menyimpan status deployment Terraform.
  4. Dalam blueprint examples/gke-a3-megagpu/gke-a3-megagpu-deployment.yaml dari repositori GitHub, ganti variabel berikut di bagian terraform_backend_defaults dan vars agar sesuai dengan nilai spesifik untuk deployment Anda:

    • BUCKET: nama bucket Cloud Storage yang Anda buat di langkah sebelumnya.
    • DEPLOYMENT_NAME: nama unik untuk deployment, yang harus memiliki panjang antara 6 dan 30 karakter. Jika nama deployment tidak unik dalam sebuah project, pembuatan cluster akan gagal.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • REGION: region komputasi untuk cluster.
    • ZONE: zona komputasi untuk node pool mesin A3 Mega. Zona ini harus cocok dengan zona tempat mesin tersedia dalam pemesanan Anda.
    • AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung ke cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan. Untuk mendapatkan alamat IP mesin host, jalankan perintah curl -s https://ifconfig.me.
  5. Pilih opsi pemakaian untuk deployment GKE Anda:

    Secara default, file deployment dikonfigurasi untuk menggunakan pemesanan standar atau pemesanan untuk masa mendatang. Untuk menggunakan model pemakaian alternatif (seperti kapasitas on-demand, Spot VM, atau mode penyediaan flex-start), perbarui file YAML deployment Anda. Untuk mengetahui informasi selengkapnya, lihat opsi konsumsi GKE.

    Untuk mengonfigurasi pemesanan, tetapkan nilai berikut di bagian pemesanan tertentu:

    • Di blok reservation_affinity, dalam daftar specific_reservations, tentukan kolom name pemesanan:
    • Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (RESERVATION_NAME).
    • Untuk menargetkan blok tertentu dalam pemesanan Anda, gunakan nama pemesanan dan blok dalam format berikut:

      RESERVATION_NAME/reservationBlocks/BLOCK_NAME
      

      Jika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.

    • STATIC_NODE_COUNT: jumlah node A3 Mega di cluster Anda.

    Untuk mengubah setelan lanjutan, edit blueprint examples/gke-a3-megagpu/gke-a3-megagpu.yaml dari repositori GitHub.

  6. Buat Kredensial Default Aplikasi (ADC) untuk memberikan akses ke Terraform. Jika Anda menggunakan Cloud Shell, gunakan perintah gcloud auth application-default login:

    gcloud auth application-default login
    
  7. Gunakan perintah gcluster deploy untuk men-deploy blueprint dan menyediakan infrastruktur GKE menggunakan jenis mesin A3 Mega:

    cd ~/cluster-toolkit
    ./gcluster deploy -d \
        examples/gke-a3-megagpu/gke-a3-megagpu-deployment.yaml \
        examples/gke-a3-megagpu/gke-a3-megagpu.yaml
    
  8. Saat diminta, pilih (A)pply untuk men-deploy blueprint. Blueprint ini membuat jaringan VPC, akun layanan, cluster, dan node pool.

A3 High

  1. Luncurkan Cloud Shell. Meskipun Anda dapat menggunakan lingkungan yang berbeda, sebaiknya gunakan Cloud Shell karena dependensi sudah diinstal sebelumnya untuk Cluster Toolkit. Jika Anda tidak ingin menggunakan Cloud Shell, siapkan lingkungan lain dengan mengikuti petunjuk untuk menginstal dependensi.
  2. Instal Cluster Toolkit.

  3. Buat bucket Cloud Storage dengan pembuatan versi diaktifkan untuk menyimpan status deployment Terraform Anda:

    gcloud storage buckets create gs://BUCKET_NAME \
        --default-storage-class=STANDARD \
        --project=PROJECT_ID \
        --location=COMPUTE_REGION_TERRAFORM_STATE \
        --uniform-bucket-level-access
    gcloud storage buckets update gs://BUCKET_NAME --versioning

    Ganti variabel berikut:

    • BUCKET_NAME: nama bucket Cloud Storage baru, yang harus memenuhi persyaratan penamaan bucket.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • COMPUTE_REGION_TERRAFORM_STATE: region komputasi tempat Anda ingin menyimpan status deployment Terraform.
  4. Dalam blueprint examples/gke-a3-highgpu/gke-a3-highgpu-deployment.yaml dari repositori GitHub, ganti variabel berikut di bagian terraform_backend_defaults dan vars agar sesuai dengan nilai spesifik untuk deployment Anda:

    • BUCKET: nama bucket Cloud Storage yang Anda buat di langkah sebelumnya.
    • DEPLOYMENT_NAME: nama unik untuk deployment, yang harus memiliki panjang antara 6 dan 30 karakter. Jika nama deployment tidak unik dalam sebuah project, pembuatan cluster akan gagal.
    • PROJECT_ID: Project ID Google Cloud Anda.
    • REGION: region komputasi untuk cluster.
    • ZONE: zona komputasi untuk node pool mesin A3 High. Zona ini harus cocok dengan zona tempat mesin tersedia dalam pemesanan Anda.
    • AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung ke cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan. Untuk mendapatkan alamat IP mesin host, jalankan perintah curl -s https://ifconfig.me.
  5. Pilih opsi pemakaian untuk deployment GKE Anda:

    Secara default, file deployment dikonfigurasi untuk menggunakan pemesanan standar atau pemesanan untuk masa mendatang. Untuk menggunakan model pemakaian alternatif (seperti kapasitas on-demand, Spot VM, atau mode penyediaan flex-start), perbarui file YAML deployment Anda. Untuk mengetahui informasi selengkapnya, lihat opsi konsumsi GKE.

    Untuk mengonfigurasi pemesanan, tetapkan nilai berikut di bagian pemesanan tertentu:

    • Di blok reservation_affinity, dalam daftar specific_reservations, tentukan kolom name pemesanan:
    • Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (RESERVATION_NAME).
    • Untuk menargetkan blok tertentu dalam pemesanan Anda, gunakan nama pemesanan dan blok dalam format berikut:

      RESERVATION_NAME/reservationBlocks/BLOCK_NAME
      

      Jika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.

    • STATIC_NODE_COUNT: jumlah node A3 High di cluster Anda.

    Untuk mengubah setelan lanjutan, edit blueprint examples/gke-a3-highgpu/gke-a3-highgpu.yaml dari repositori GitHub.

  6. Buat Kredensial Default Aplikasi (ADC) untuk memberikan akses ke Terraform. Jika Anda menggunakan Cloud Shell, gunakan perintah gcloud auth application-default login:

    gcloud auth application-default login
    
  7. Gunakan perintah gcluster deploy untuk men-deploy blueprint dan menyediakan infrastruktur GKE menggunakan jenis mesin A3 High:

    cd ~/cluster-toolkit
    ./gcluster deploy -d \
        examples/gke-a3-highgpu/gke-a3-highgpu-deployment.yaml \
        examples/gke-a3-highgpu/gke-a3-highgpu.yaml
    
  8. Saat diminta, pilih (A)pply untuk men-deploy blueprint. Blueprint ini membuat jaringan VPC, akun layanan, cluster, dan node pool.

Menjalankan Tugas contoh Dynamic Workload Scheduler

Jika Anda menyediakan cluster menggunakan Dynamic Workload Scheduler (baik flex-start atau penyediaan dalam antrean), Anda dapat memvalidasi penjadwalan workload dengan mengirimkan contoh Tugas Kubernetes.

Untuk mengetahui informasi selengkapnya tentang mode penyediaan Dynamic Workload Scheduler, lihat Dynamic Workload Scheduler flex-start dengan penyediaan dalam antrean.

Mengirimkan contoh Tugas

Pilih tab yang sesuai dengan opsi pemakaian Anda:

Flex-start

Tugas ini bersifat opsional dan hanya berlaku jika Anda menyediakan cluster dengan flex-start. Workload yang dikonfigurasi untuk flex-start memerlukan pemilih node cloud.google.com/gke-flex-start: "true" dalam spesifikasi Pod-nya.

  1. Kirimkan contoh Tugas flex-start:

    kubectl apply -f examples/dws-sample-workloads/sample-job-flex.yaml
    
  2. Pantau status Tugas dan Pod Anda:

    kubectl get jobs
    kubectl describe job JOB_NAME
    kubectl get pods
    kubectl describe pod POD_NAME
    

    Ganti kode berikut:

    • JOB_NAME: nama Tugas Anda.
    • POD_NAME: nama Pod Anda.
  3. Setelah Tugas selesai, hapus resource Tugas:

    kubectl delete -f examples/dws-sample-workloads/sample-job-flex.yaml
    

Penyediaan dalam antrean

Tugas ini bersifat opsional dan hanya berlaku jika Anda menyediakan cluster dengan penyediaan dalam antrean. Workload yang dikonfigurasi untuk penyediaan dalam antrean memerlukan label dan anotasi berikut dalam spesifikasi Pod-nya:

  • Label: kueue.x-k8s.io/queue-name: dws-local-queue
  • Anotasi: provreq.kueue.x-k8s.io/maxRunDurationSeconds: "MAX_RUN_DURATION"

Untuk mengetahui informasi selengkapnya, lihat Persyaratan manifes workload untuk penyediaan dalam antrean.

  1. Kirimkan contoh Tugas penyediaan dalam antrean:

    kubectl apply -f examples/dws-sample-workloads/sample-job-flex-queue.yaml
    
  2. Pantau status Tugas dan Pod Anda:

    kubectl get jobs
    kubectl describe job JOB_NAME
    kubectl get pods
    kubectl describe pod POD_NAME
    

    Ganti kode berikut:

    • JOB_NAME: nama Tugas Anda.
    • POD_NAME: nama Pod Anda.
  3. Setelah Tugas selesai, hapus resource Tugas:

    kubectl delete -f examples/dws-sample-workloads/sample-job-flex-queue.yaml
    

Menguji performa jaringan

Sebaiknya Anda memvalidasi fungsi cluster yang disediakan. Untuk melakukannya, gunakan pengujian NCCL, yang merupakan pengujian NVIDIA Collective Communications Library (NCCL) yang dioptimalkan untuk lingkungan Google.

Menjalankan tolok ukur yang dapat direproduksi

Setelah membuat cluster menggunakan Cluster Toolkit, Anda dapat mereproduksi tolok ukur pra-pelatihan untuk model terbuka machine learning besar pada seri mesin pilihan Anda dengan mengikuti resep yang disediakan di GitHub.

Setiap resep memberikan petunjuk untuk menyelesaikan tugas berikut:

  • Menyiapkan lingkungan Anda.
  • Jalankan benchmark.
  • Menganalisis hasil tolok ukur. Peninjauan ini mencakup hasil benchmark dan log mendetail untuk analisis lebih lanjut.

Untuk melihat semua resep yang tersedia untuk pelatihan dan jenis workload lainnya, lihat repositori GitHub resep GPU.

Membersihkan resource yang dibuat oleh Cluster Toolkit

Agar tidak dikenai biaya berulang untuk resource yang digunakan di halaman ini, gunakan perintah gcluster destroy untuk membersihkan resource yang disediakan oleh Cluster Toolkit, termasuk jaringan VPC dan cluster GKE:

   cd ~/cluster-toolkit
   ./gcluster destroy CLUSTER_NAME/

Ganti CLUSTER_NAME dengan nama cluster Anda. Untuk cluster yang dibuat dengan Cluster Toolkit, nama cluster didasarkan pada nama DEPLOYMENT_NAME.

Langkah berikutnya