Dokumen ini menjelaskan cara membuat cluster Google Kubernetes Engine (GKE) kustom yang menggunakan jenis mesin yang dioptimalkan akselerator A2 Standar (A100 40GB) atau A2 Ultra (A100 80GB) 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 mainstream seperti melatih model yang lebih kecil dan inferensi host tunggal.
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 AI yang menggunakan seri mesin A2, Anda akan melakukan hal berikut:
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:
- Kubernetes Engine Admin (
roles/container.admin) - Compute Admin (
roles/compute.admin)
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
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 pemakaian:
- Untuk mengetahui informasi selengkapnya tentang flex-start (Pratinjau) dan GKE, lihat Tentang ketersediaan GPU dengan flex-start.
- Flex-start menggunakan penempatan rapat upaya terbaik. Untuk memeriksa topologi Anda, lihat Melihat topologi fisik node di cluster GKE.
- Anda hanya bisa mendapatkan informasi topologi saat menggunakan VM Spot jika Anda mengonfigurasi penempatan rapat.
Dapatkan kapasitas. Pelajari cara mendapatkan kapasitas untuk opsi pemakaian Anda.
Persyaratan
Untuk cluster GKE yang dioptimalkan 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.
Membuat 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:
Untuk membuat cluster Standar, jalankan perintah berikut:
gcloud container clusters create CLUSTER_NAME \ --region=REGION \ --enable-ip-aliasGanti kode berikut:
CLUSTER_NAME: nama cluster Anda.REGION: region untuk cluster Anda.
Buat node pool. Setelah membuat cluster, Anda dapat menambahkan node pool dengan GPU A2.
Perhatikan hal berikut:
- Jenis mesin A2 Standar (
a2-highgpu) mengharuskan Anda memasang disk SSD Lokal secara manual ke node untuk menggunakannya sebagai ruang kerja sementara atau caching. Gunakan flag--local-ssd-count. - Jenis mesin A2 Ultra (
a2-ultragpu) otomatis menyertakan jumlah disk SSD Lokal yang tetap secara default. - Untuk workload pelatihan multi-node, sebaiknya gunakan kebijakan penempatan rapat untuk meminimalkan latensi jaringan antar-node.
Untuk workload pelatihan multi-node, sebaiknya aktifkan NCCL Fast Socket untuk meningkatkan performa jaringan.
A2 Standar (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_COUNTA2 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, misalnya,us-central1-a. Hal ini diperlukan saat menggunakan penempatan rapat.NODE_POOL_NAME: nama node pool Anda.MACHINE_TYPE: jenis mesin untuk node Anda, misalnya,a2-highgpu-1g.AMOUNT: jumlah GPU yang akan dilampirkan ke setiap node.LOCAL_SSD_COUNT: jumlah volume SSD Lokal yang akan disediakan di setiap node.
- Jenis mesin A2 Standar (
Menghubungkan ke cluster Anda
Hubungkan ke cluster Anda 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 Anda membuat cluster Autopilot, Anda harus memilih GPU yang sesuai dalam manifes Pod agar GKE menyediakan hardware.
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 menggunakannvidia-tesla-a100(untuk A2 Standar) ataunvidia-a100-80gb(untuk A2 Ultra).RESERVATION_NAME: nama reservasi kapasitas Compute Engine. Untuk menggunakan reservasi bersama, atau blok dan sub-blok reservasi tertentu, lihat bagian yang sesuai di Menggunakan resource jalur zona yang dipesan.
Tambahkan resource berikut ke container yang meminta GPU:
containers: - name: my-container resources: limits: nvidia.com/gpu: AMOUNTGanti
AMOUNTdengan jumlah GPU yang akan dilampirkan ke setiap node.