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 agar Anda dapat 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 terpadu 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:
- Gunakan Cluster Toolkit untuk membuat cluster dengan konfigurasi default untuk resource komputasi, penyimpanan, dan jaringan, serta dengan GPUDirect RDMA-over-Converged-Ethernet (RoCE) diaktifkan.
Atau, Anda dapat membuat cluster GKE secara manual untuk penyesuaian atau perluasan yang akurat dari lingkungan GKE produksi yang ada. Untuk membuat cluster GKE yang dioptimalkan untuk AI secara manual, lihat salah satu halaman berikut:
- A4X Max: Membuat cluster GKE yang dioptimalkan AI yang menggunakan A4X Max.
- A4X: Buat cluster GKE yang dioptimalkan untuk AI yang menggunakan A4X.
- A4 atau A3 Ultra: Buat cluster GKE yang dioptimalkan untuk AI yang menggunakan A4 atau A3 Ultra.
- A3 Mega atau A3 High: Buat cluster GKE Standard yang menggunakan A3 Mega atau A3 High atau Buat cluster GKE Autopilot yang menggunakan A3 Mega atau A3 High.
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 dan 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
- Kubernetes Engine Admin (
Memilih opsi pemakaian dan mendapatkan kapasitas
Untuk mendapatkan kapasitas, selesaikan langkah-langkah berikut:
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:
- Instance komputasi A4X Max dan A4X tidak dapat disediakan menggunakan flex-start.
- Untuk mengetahui informasi selengkapnya tentang mode penyediaan flex-start (Pratinjau) dan GKE, lihat Tentang ketersediaan GPU dengan flex-start.
- Flex-start menggunakan penempatan rapat dengan upaya terbaik. Untuk memeriksa topologi, lihat Melihat topologi fisik node di cluster GKE Anda.
- Anda hanya bisa mendapatkan informasi topologi saat menggunakan Spot VM jika Anda mengonfigurasi penempatan rapat.
- Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi opsi konsumsi ini di blueprint Cluster Toolkit, lihat Opsi konsumsi GKE.
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 versi 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 driver GPU versi minimal 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 menetapkangpu-driver-version=latestdengan 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=latestuntuk 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
- Luncurkan Cloud Shell. Anda dapat menggunakan lingkungan yang berbeda; namun, 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.
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.
Di blueprint
examples/gke-a4x-max-bm/gke-a4x-max-bm-deployment.yamldari repositori GitHub, isi setelan berikut di bagianterraform_backend_defaultsdanvarsagar 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 adalahgke-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 di node pool cluster Anda, yang harus berjumlah 18 node atau kurang. Sebaiknya gunakan 18 node untuk mendapatkan topologi GPU1x72dalam 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_NAMEJika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.
RESERVATION_PROJECT_ID: project ID Google Cloud yang memiliki pemesanan. Pemesanan Anda mungkin ada di project yang berbeda dariPROJECT_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 adalah1.
Untuk mengubah setelan lanjutan, edit file
examples/gke-a4x-max-bm/gke-a4x-max-bm.yaml.Opsional: Konfigurasikan Google Cloud Managed Lustre untuk penyimpanan bersama berperforma tinggi. Blueprint GKE A4X Max mengaktifkan driver CSI Managed Lustre secara default. Untuk menyediakan instance Managed Lustre dan volume persisten dengan cluster Anda, lakukan hal berikut:
- Buka file
examples/gke-a4x-max-bm/gke-a4x-max-bm.yaml. - Di bagian
vars, hapus tanda komentar pada variabellustre_instance_id,lustre_size_gib, danper_unit_storage_throughput. - Di bagian
# --- MANAGED LUSTRE ADDITIONS ---, hapus tanda komentar pada modulprivate_service_access,lustre_firewall_rule,managed-lustre, danlustre-pv.
- Buka file
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 loginGunakan perintah
gcluster deployuntuk 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.yamlSaat 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-templatedalam blueprint, bucketGoogle Cloud , penyimpanan jaringan, dan resource volume persisten akan dibuat.
A4X
- Luncurkan Cloud Shell. Anda dapat menggunakan lingkungan yang berbeda; namun, 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.
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.
Dalam blueprint
examples/gke-a4x/gke-a4x-deployment.yamldari repositori GitHub, isi setelan berikut di bagianterraform_backend_defaultsdanvarsagar 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 adalahgke-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 GPU1x72dalam 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_NAMEJika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.
RESERVATION_PROJECT_ID: project ID Google Cloud yang memiliki pemesanan. Pemesanan Anda mungkin ada di project yang berbeda dariPROJECT_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 adalah1.
Untuk mengubah setelan lanjutan, edit file
examples/gke-a4x/gke-a4x.yaml.Opsional: Konfigurasikan Managed Lustre untuk penyimpanan bersama berperforma tinggi. Blueprint GKE A4X mengaktifkan driver CSI Managed Lustre secara default. Untuk menyediakan instance Managed Lustre dan volume persisten dengan cluster Anda, lakukan hal berikut:
- Buka file
examples/gke-a4x/gke-a4x.yaml. - Di bagian
vars, hapus tanda komentar pada variabellustre_instance_id,lustre_size_gib, danper_unit_storage_throughput. - Di bagian
# --- MANAGED LUSTRE ADDITIONS ---, hapus tanda komentar pada modulprivate_service_access,lustre_firewall_rule,managed-lustre, danlustre-pv.
- Buka file
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 loginGunakan perintah
gcluster deployuntuk 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.yamlSaat 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-templatedalam blueprint, bucketGoogle Cloud , penyimpanan jaringan, dan resource volume persisten akan dibuat.
A4
- 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.
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.
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.
Dalam blueprint
examples/gke-a4/gke-a4-deployment.yamldari repositori GitHub, isi setelan berikut di bagianterraform_backend_defaultsdanvarsagar 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 adalahgke-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 daftarspecific_reservations, tentukan kolomnamepemesanan:- 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_NAMEJika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.
Untuk mengubah setelan lanjutan, edit
examples/gke-a4/gke-a4.yaml.- Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (
Flex-start
Di blueprint
examples/gke-a4/gke-a4-deployment.yamldari repo GitHub, isi setelan berikut di bagianterraform_backend_defaultsdanvarsagar 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 adalahgke-a4.REGION: region komputasi untuk cluster.ZONE: zona komputasi untuk node pool mesin A4.AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung dengan cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang ingin Anda gunakan untuk memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.- Hapus kolom
reservation, dan ganti kolom tersebut denganenable_flex_start: true. Tambahkan di baris berikutnyaenable_queued_provisioning: truejika Anda juga ingin menggunakan penyediaan dalam antrean. Untuk mengetahui informasi selengkapnya, lihat Menggunakan node pool dengan flex-start dengan penyediaan dalam antrean. - Hapus
static_node_count.
Di blueprint
examples/gke-a4/gke-a4.yamldari repo GitHub, buat perubahan berikut:- Di blok
vars, hapusstatic_node_count. - Di blok
vars, pastikan nomorversion_prefixadalah"1.32."atau yang lebih tinggi. Untuk menggunakan flex-start di GKE, cluster Anda harus menggunakan versi 1.32.2-gke.1652000 atau yang lebih baru. - Di blok
vars, ganti seluruh blokreservation(termasuk barisreservationitu sendiri) denganenable_flex_start: true, dan, secara opsional,enable_queued_provisioning: true. - Di blok
vars, jika Anda tidak memerlukan penyediaan dalam antrean, hapus baris berikut:kueue_configuration_path: $(ghpc_stage("./kueue-configuration.yaml.tftpl")). - Di bagian
id: a4-pool, hapus baris berikut:static_node_count: $(vars.static_node_count). Di bagian
id: a4-pool, hapus blokreservation_affinity. Ganti blok ini dengan baris berikut:enable_flex_start: $(vars.enable_flex_start)auto_repair: false- Untuk penyediaan dalam antrean, jika Anda ingin mengaktifkannya, tambahkan
baris tambahan berikut:
enable_queued_provisioning: $(vars.enable_queued_provisioning)autoscaling_total_min_nodes: 0
Di bagian
id: workload-manager-install, hapus blok berikut:kueue: install: true config_path: $(vars.kueue_configuration_path) config_template_vars: num_gpus: $(a3-ultragpu-pool.static_gpu_count) accelerator_type: $(vars.accelerator_type)Untuk flex-start dengan penyediaan dalam antrean, lakukan hal berikut:
Tambahkan
gpu_nominal_quota: NOMINAL_QUOTAke blokvars. Nilaigpu_nominal_quotadigunakan untuk menetapkannominalQuotaGPU dalam spesifikasiClusterQueue(di bawah, lihat langkah penetapanClusterQueue). Dalam contoh ini,ClusterQueuehanya mengizinkan workload jika jumlah permintaan GPU kurang dari atau sama dengan nilaiNOMINAL_QUOTA. Untuk mengetahui informasi selengkapnya tentangClusterQueue, lihat dokumen Kueue tentang Antrean Cluster berikut.Perbarui blok
kueuemenjadi berikut:kueue: install: true config_path: $(vars.kueue_configuration_path) config_template_vars: num_gpus: $(vars.gpu_nominal_quota)Ganti konten file
kueue-configuration.yaml.tftpldengan berikut ini:apiVersion: kueue.x-k8s.io/v1beta1 kind: ResourceFlavor metadata: name: "default-flavor" --- apiVersion: kueue.x-k8s.io/v1beta1 kind: AdmissionCheck metadata: name: dws-prov spec: controllerName: kueue.x-k8s.io/provisioning-request parameters: apiGroup: kueue.x-k8s.io kind: ProvisioningRequestConfig name: dws-config --- apiVersion: kueue.x-k8s.io/v1beta1 kind: ProvisioningRequestConfig metadata: name: dws-config spec: provisioningClassName: queued-provisioning.gke.io managedResources: - nvidia.com/gpu --- apiVersion: kueue.x-k8s.io/v1beta1 kind: ClusterQueue metadata: name: "dws-cluster-queue" spec: namespaceSelector: {} resourceGroups: - coveredResources: ["nvidia.com/gpu"] flavors: - name: "default-flavor" resources: - name: "nvidia.com/gpu" nominalQuota: ${num_gpus} admissionChecks: - dws-prov --- apiVersion: kueue.x-k8s.io/v1beta1 kind: LocalQueue metadata: namespace: "default" name: "dws-local-queue" spec: clusterQueue: "dws-cluster-queue" ---
Di bagian
id: job-template, ganti variabelnode_countdengan2.
- Di blok
Spot
Di blueprint
examples/gke-a4/gke-a4-deployment.yamldari repo GitHub, isi setelan berikut di bagianterraform_backend_defaultsdanvarsagar 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 adalahgke-a4.REGION: region komputasi untuk cluster.ZONE: zona komputasi untuk node pool mesin A4.STATIC_NODE_COUNT: jumlah node A4 di cluster Anda.AUTHORIZED_CIDR: rentang alamat IP yang ingin Anda izinkan untuk terhubung dengan cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang ingin Anda gunakan untuk memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.- Ganti seluruh blok
reservation(termasuk barisreservationitu sendiri) denganspot: true.
Di blueprint
examples/gke-a4/gke-a4.yamldari repo GitHub, buat perubahan berikut:- Di blok
vars, ganti seluruh blokreservation(termasuk barisreservationitu sendiri) denganspot: true. Di bagian
id: a4-pool, hapus blokreservation_affinity. Ganti blok ini dengan baris berikut:spot: $(vars.spot)
- Di blok
Opsional: Konfigurasikan Managed Lustre untuk penyimpanan bersama berperforma tinggi. Blueprint GKE A4 mengaktifkan driver CSI Managed Lustre secara default. Untuk menyediakan instance Managed Lustre dan volume persisten dengan cluster Anda, lakukan hal berikut:
- Buka file
examples/gke-a4/gke-a4.yaml. - Di bagian
vars, hapus tanda komentar pada variabellustre_instance_id,lustre_size_gib, danper_unit_storage_throughput. - Di bagian
# --- MANAGED LUSTRE ADDITIONS ---, hapus tanda komentar pada modulprivate_service_access,lustre_firewall_rule,managed-lustre, danlustre-pv.
- Buka file
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 loginGunakan perintah
gcluster deployuntuk 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.yamlSaat 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-templatedalam blueprint, bucketGoogle Cloud , penyimpanan jaringan, dan resource volume persisten akan dibuat.
A3 Ultra
- 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.
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.
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.
Di blueprint
examples/gke-a3-ultragpu/gke-a3-ultragpu-deployment.yamldari repositori GitHub, isi setelan berikut di bagianterraform_backend_defaultsdanvarsagar 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 adalahgke-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 daftarspecific_reservations, tentukan kolomnamepemesanan:- 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_NAMEJika Anda tidak tahu blok mana yang tersedia dalam pemesanan, lihat Melihat topologi pemesanan.
- Untuk menempatkan node pool di mana saja dalam pemesanan, berikan nama pemesanan Anda (
STATIC_NODE_COUNT: jumlah node A3 Ultra di cluster Anda.Untuk mengubah setelan lanjutan, edit
examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml.
Flex-start
Dalam blueprint
examples/gke-a3-ultragpu/gke-a3-ultragpu-deployment.yamldari repo GitHub, ganti variabel berikut di bagianterraform_backend_defaultsdanvarsagar sesuai dengan nilai spesifik untuk deployment Anda:BUCKET_NAME: 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.COMPUTE_REGION: region komputasi untuk cluster.COMPUTE_ZONE: zona komputasi untuk node pool mesin A3 Ultra.IP_ADDRESS/SUFFIX: Rentang alamat IP yang ingin Anda izinkan untuk terhubung dengan cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang ingin Anda gunakan untuk memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.- Hapus kolom
reservation, dan ganti kolom tersebut denganenable_flex_start: true. Tambahkan di baris berikutnyaenable_queued_provisioning: truejika Anda juga ingin menggunakan penyediaan dalam antrean. Untuk mengetahui informasi selengkapnya, lihat Menggunakan node pool dengan flex-start dengan penyediaan dalam antrean. - Hapus
static_node_count.
Di blueprint
examples/gke-a3-ultragpu/gke-a3-ultragpu.yamldari repo GitHub, buat perubahan berikut:- Di blok
vars, hapusstatic_node_count. - Di blok
vars, perbarui nomorversion_prefixke"1.32."atau yang lebih tinggi. Untuk menggunakan flex-start di GKE, cluster Anda harus menggunakan versi 1.32.2-gke.1652000 atau yang lebih baru. - Di blok
vars, ganti seluruh blokreservation(termasuk barisreservationitu sendiri) denganenable_flex_start: true, dan, secara opsional,enable_queued_provisioning: true. - Di blok
vars, hapus baris berikut:kueue_configuration_path: $(ghpc_stage("./kueue-configuration.yaml.tftpl")). - Di bagian
id: a3-ultragpu-pool, hapus baris berikut:static_node_count: $(vars.static_node_count). Di bagian
id: a3-ultragpu-pool, hapus blokreservation_affinity. Ganti blok ini dengan baris berikut:enable_flex_start: $(vars.enable_flex_start)auto_repair: false- Untuk penyediaan dalam antrean, jika Anda ingin mengaktifkannya, tambahkan
baris tambahan berikut:
enable_queued_provisioning: $(vars.enable_queued_provisioning)autoscaling_total_min_nodes: 0
Di bagian
id: workload-manager-install, hapus blok berikut:config_path: $(vars.kueue_configuration_path) config_template_vars: num_gpus: $(a4-pool.static_gpu_count) accelerator_type: $(vars.accelerator_type)Untuk flex-start dengan penyediaan dalam antrean, ikuti tiga langkah berikut:
Tambahkan
gpu_nominal_quota: NOMINAL_QUOTAke blokvars. Nilaigpu_nominal_quotadigunakan untuk menetapkannominalQuotaGPU dalam spesifikasiClusterQueue. Dalam contoh ini,ClusterQueuehanya menerima workload jika jumlah permintaan GPU kurang dari atau sama dengan nilaiNOMINAL_QUOTA. Untuk mengetahui informasi selengkapnya tentangClusterQueue, lihat dokumen Kueue tentang Antrean Cluster berikut.Perbarui blok
kueuemenjadi berikut:kueue: install: true config_path: $(vars.kueue_configuration_path) config_template_vars: num_gpus: $(vars.gpu_nominal_quota)Ganti konten file
kueue-configuration.yaml.tftpldengan berikut ini:apiVersion: kueue.x-k8s.io/v1beta1 kind: ResourceFlavor metadata: name: "default-flavor" --- apiVersion: kueue.x-k8s.io/v1beta1 kind: AdmissionCheck metadata: name: dws-prov spec: controllerName: kueue.x-k8s.io/provisioning-request parameters: apiGroup: kueue.x-k8s.io kind: ProvisioningRequestConfig name: dws-config --- apiVersion: kueue.x-k8s.io/v1beta1 kind: ProvisioningRequestConfig metadata: name: dws-config spec: provisioningClassName: queued-provisioning.gke.io managedResources: - nvidia.com/gpu --- apiVersion: kueue.x-k8s.io/v1beta1 kind: ClusterQueue metadata: name: "dws-cluster-queue" spec: namespaceSelector: {} resourceGroups: - coveredResources: ["nvidia.com/gpu"] flavors: - name: "default-flavor" resources: - name: "nvidia.com/gpu" nominalQuota: ${num_gpus} admissionChecks: - dws-prov --- apiVersion: kueue.x-k8s.io/v1beta1 kind: LocalQueue metadata: namespace: "default" name: "dws-local-queue" spec: clusterQueue: "dws-cluster-queue" ---
Di kolom
id: job-template, ganti variabelnode_countdengan2.
- Di blok
Spot
Dalam blueprint
examples/gke-a3-ultragpu/gke-a3-ultragpu-deployment.yamldari repo GitHub, isi setelan berikut di bagianterraform_backend_defaultsdanvarsagar sesuai dengan nilai spesifik untuk deployment Anda:BUCKET_NAME: 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.COMPUTE_REGION: region komputasi untuk cluster.COMPUTE_ZONE: zona komputasi untuk node pool mesin A3 Ultra.IP_ADDRESS/SUFFIX: Rentang alamat IP yang ingin Anda izinkan untuk terhubung dengan cluster. Blok CIDR ini harus menyertakan alamat IP mesin yang ingin Anda gunakan untuk memanggil Terraform. Untuk mengetahui informasi selengkapnya, lihat Cara kerja jaringan yang diizinkan.- Ganti seluruh blok
reservation(termasuk barisreservationitu sendiri) denganspot: true. NODE_COUNT: jumlah node A3 Ultra di cluster Anda.
Di blueprint
examples/gke-a3-ultragpu/gke-a3-ultragpu.yamldari repo GitHub, buat perubahan berikut:- Di blok
vars, ganti seluruh variabelreservationdenganspot: true. Di bagian
id: a3-ultragpu-pool, hapus blokreservation_affinity. Ganti blok ini dengan baris berikut:spot: $(vars.spot)
- Di blok
Opsional: Konfigurasikan Managed Lustre untuk penyimpanan bersama berperforma tinggi. Blueprint GKE A3 Ultra mengaktifkan driver CSI Managed Lustre secara default. Untuk menyediakan instance Managed Lustre dan volume persisten dengan cluster Anda, lakukan hal berikut:
- Buka file
examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml. - Di bagian
vars, hapus tanda komentar pada variabellustre_instance_id,lustre_size_gib, danper_unit_storage_throughput. - Di bagian
# --- MANAGED LUSTRE ADDITIONS ---, hapus tanda komentar pada modulprivate_service_access,lustre_firewall_rule,managed-lustre, danlustre-pv.
- Buka file
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 loginGunakan perintah
gcluster deployuntuk 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.yamlSaat 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-templatedalam blueprint, bucketGoogle Cloud , penyimpanan jaringan, dan resource volume persisten akan dibuat.
A3 Mega
- 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 yang berbeda dengan mengikuti petunjuk untuk menginstal dependensi.
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.
Dalam blueprint
examples/gke-a3-megagpu/gke-a3-megagpu-deployment.yamldari repositori GitHub, ganti variabel berikut di bagianterraform_backend_defaultsdanvarsagar 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 perintahcurl -s https://ifconfig.me.
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 daftarspecific_reservations, tentukan kolomnamepemesanan: - 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_NAMEJika 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.yamldari repositori GitHub.- Di blok
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 loginGunakan perintah
gcluster deployuntuk 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.yamlSaat diminta, pilih (A)pply untuk men-deploy blueprint. Blueprint ini membuat jaringan VPC, akun layanan, cluster, dan node pool.
A3 High
- 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 yang berbeda dengan mengikuti petunjuk untuk menginstal dependensi.
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.
Dalam blueprint
examples/gke-a3-highgpu/gke-a3-highgpu-deployment.yamldari repositori GitHub, ganti variabel berikut di bagianterraform_backend_defaultsdanvarsagar 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 perintahcurl -s https://ifconfig.me.
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 daftarspecific_reservations, tentukan kolomnamepemesanan: - 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_NAMEJika 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.yamldari repositori GitHub.- Di blok
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 loginGunakan perintah
gcluster deployuntuk 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.yamlSaat 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.
Kirimkan contoh Tugas flex-start:
kubectl apply -f examples/dws-sample-workloads/sample-job-flex.yamlPantau status Tugas dan Pod Anda:
kubectl get jobs kubectl describe job JOB_NAME kubectl get pods kubectl describe pod POD_NAMEGanti kode berikut:
JOB_NAME: nama Tugas Anda.POD_NAME: nama Pod Anda.
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.
Kirimkan contoh Tugas penyediaan dalam antrean:
kubectl apply -f examples/dws-sample-workloads/sample-job-flex-queue.yamlPantau status Tugas dan Pod Anda:
kubectl get jobs kubectl describe job JOB_NAME kubectl get pods kubectl describe pod POD_NAMEGanti kode berikut:
JOB_NAME: nama Tugas Anda.POD_NAME: nama Pod Anda.
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 memberi Anda petunjuk untuk menyelesaikan tugas berikut:
- Menyiapkan lingkungan Anda.
- Jalankan benchmark.
- Analisis hasil benchmark. Peninjauan ini mencakup hasil tolok ukur 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
- Untuk mempelajari cara menjadwalkan workload di cluster GKE menggunakan Topology-Aware Scheduling (TAS) dan Kueue, lihat Menjadwalkan workload GKE dengan Topology Aware Scheduling.
- Untuk mempelajari cara mengelola peristiwa umum yang relevan dengan cluster GKE dan workload AI, lihat Mengelola cluster GKE yang dioptimalkan untuk AI.
- Untuk mengetahui informasi tentang cara menguji lingkungan Anda untuk penyiapan dan pengoptimalan yang tepat, lihat Ringkasan pengoptimalan jaringan cluster.
- Untuk mempelajari semua model pemakaian yang didukung untuk cluster GKE, lihat opsi pemakaian GKE.