Halaman ini menunjukkan cara menggunakan plugin Fast Socket NVIDIA Collective Communication Library (NCCL) untuk menjalankan workload yang lebih efisien di cluster Google Kubernetes Engine (GKE) Anda.
Cluster autopilot tidak mendukung NCCL Fast Socket
Sebelum memulai
Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
initialize
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan
gcloud components update
.
Batasan
- Batasan Compute Engine berlaku.
- Batasan gVNIC berlaku.
- NCCL Fast Socket hanya didukung pada node pool yang telah mengaktifkan akselerator hardware.
Persyaratan
- Node pool Anda harus mengaktifkan gVNIC agar dapat menggunakan NCCL Fast Socket.
- Node GKE harus menggunakan image node Container-Optimized OS.
- Cluster Anda harus menjalankan GKE versi 1.25.2-gke.1700 atau yang lebih baru.
Membuat cluster
Membuat cluster baru:
gcloud container clusters create CLUSTER_NAME \
--cluster-version=VERSION \
--region=COMPUTE_REGION
Ganti kode berikut:
CLUSTER_NAME
: nama cluster baru.VERSION
: versi GKE, harus 1.25.2-gke.1700 atau yang lebih baru. Anda juga dapat menggunakan flag--release-channel
untuk memilih saluran rilis. Saluran rilis harus memiliki versi default 1.25.2-gke.1700 atau yang lebih baru.COMPUTE_REGION
: region Compute Engine untuk cluster baru. Untuk cluster zona, gunakan--zone=COMPUTE_ZONE
.
Mengaktifkan NCCL Fast Socket
Membuat node pool yang menggunakan plugin Fast Socket NCCL. Anda juga dapat
memperbarui node pool yang ada menggunakan
gcloud container node-pools update
.
gcloud container node-pools create NODEPOOL_NAME \
--accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--machine-type=MACHINE_TYPE \
--cluster=CLUSTER_NAME \
--enable-fast-socket \
--enable-gvnic
Ganti kode berikut:
NODEPOOL_NAME
: nama node pool baru.CLUSTER_NAME
: nama cluster.ACCELERATOR_TYPE
: jenis GPU. Dapat berupa salah satu dari berikut ini:nvidia-tesla-k80
nvidia-tesla-p100
nvidia-tesla-p4
nvidia-tesla-v100
nvidia-tesla-t4
nvidia-tesla-a100
nvidia-a100-80gb
nvidia-l4
ACCELERATOR_COUNT
: jumlah GPU per node.MACHINE_TYPE
: jenis mesin yang ingin digunakan. NCCL Fast Socket tidak didukung do jenis mesin yang dioptimalkan untuk memori.
Menginstal driver perangkat GPU NVIDIA
Ikuti petunjuk di Menginstal driver perangkat GPU NVIDIA untuk menginstal driver perangkat NVIDIA yang diperlukan di node Anda.
Memastikan NCCL Fast Socket diaktifkan
Untuk memastikan bahwa NCCL Fast Socket telah diaktifkan, lihat pod sistem kube:
kubectl get pods -n kube-system
Outputnya mirip dengan hal berikut ini:
NAME READY STATUS RESTARTS AGE
nccl-fastsocket-installer-qvfdw 2/2 Running 0 10m
nccl-fastsocket-installer-rtjs4 2/2 Running 0 10m
nccl-fastsocket-installer-tm294 2/2 Running 0 10m
Dalam output ini, jumlah Pod harus sama dengan jumlah node dalam node pool.
Menonaktifkan NCCL Fast Socket
Untuk menonaktifkan NCCL Fast Socket, jalankan perintah berikut:
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--no-enable-fast-socket
Node yang ada masih memiliki plugin yang terinstal. Anda harus mengubah ukuran node pool secara manual untuk memigrasikan workload ke node baru.
Pemecahan masalah
Untuk memecahkan masalah gVNIC, lihat Memecahkan Masalah Google Virtual NIC.
Langkah selanjutnya
- Gunakan logging kebijakan jaringan untuk mencatat waktu pengizinan atau penolakan koneksi ke Pod oleh kebijakan jaringan cluster Anda.