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:
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.
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:
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 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_COUNTN1 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_COUNTGanti 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.
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. Gunakannvidia-tesla-t4untuk GPU T4, ataunvidia-tesla-v100untuk 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.
Tambahkan resource berikut ke container yang meminta GPU:
containers: - name: my-container resources: limits: nvidia.com/gpu: AMOUNTGanti
AMOUNTdengan jumlah GPU yang akan dipasang ke setiap node.