Menyediakan Managed Lustre di GKE menggunakan Cluster Toolkit

Dokumen ini menjelaskan cara mengintegrasikan Managed Lustre dengan GKE untuk membuat lingkungan yang dioptimalkan untuk workload berat dan intensif data seperti kecerdasan buatan (AI), machine learning (ML), dan komputasi berperforma tinggi (HPC) dengan menggunakan Cluster Toolkit.

Dalam dokumen ini, Anda akan menyediakan cluster GKE dan instance Managed Lustre secara deklaratif dengan Cluster Toolkit, mengonfigurasi driver CSI Managed Lustre dan resource PersistentVolume Kubernetes secara otomatis, serta menjalankan workload contoh di cluster.

Dokumen ini ditujukan bagi engineer Machine Learning (ML) serta spesialis Data dan AI yang tertarik untuk mempelajari kemampuan orkestrasi container Kubernetes yang didukung oleh instance Managed Lustre. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang dirujuk dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE umum.

Latar belakang

Bagian ini menjelaskan teknologi utama yang digunakan dalam dokumen ini.

Cluster Toolkit

Cluster Toolkit adalah alat open source yang menyederhanakan deployment dan pengelolaan lingkungan AI/ML dan HPC di Google Cloud. Cluster Toolkit menggunakan blueprint modular dan deklaratif untuk mengotomatiskan penyediaan cluster GKE, jaringan, akselerator komputasi, dan penyimpanan berperforma tinggi.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan Cluster Toolkit.

Managed Lustre

Managed Lustre adalah layanan sistem file paralel berperforma tinggi yang dirancang untuk workload berat. Driver CSI Managed Lustre memungkinkan Anda mengintegrasikan instance Managed Lustre dengan GKE, dengan menggunakan PersistentVolumeClaims (PVC) dan PersistentVolumes (PV) Kubernetes standar. Driver ini sangat bermanfaat untuk workload AI/ML dan HPC yang memerlukan penyimpanan persisten, skalabel, dan ber-throughput tinggi.

Untuk mengetahui informasi selengkapnya, lihat Tentang driver CSI Managed Lustre.

Opsi pemakaian akselerator

Flex-start dan Spot VM memungkinkan Anda mengoptimalkan penyediaan komputasi dengan hanya membayar resource yang Anda butuhkan. Untuk mengetahui informasi selengkapnya, lihat Tentang opsi penggunaan akselerator untuk workload AI/ML di GKE.

Sebelum memulai

Sebelum memulai, pastikan Anda telah melakukan tugas berikut:

  • Aktifkan Google Cloud Managed Lustre API dan Google Kubernetes Engine API.
  • Aktifkan 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.

Menyiapkan lingkungan Anda

  1. Siapkan Cluster Toolkit.

  2. Tetapkan variabel lingkungan default dan dapatkan alamat IP mesin deployment Anda:

    gcloud config set project PROJECT_ID
    export PROJECT_ID=$(gcloud config get project)
    export REGION=REGION
    export ZONE=ZONE
    export DEPLOYMENT_NAME=DEPLOYMENT_NAME
    export AUTHORIZED_CIDR="$(curl -s ifconfig.me)/32"
    

    Ganti nilai berikut:

    • PROJECT_ID: Google Cloud Project ID Anda.
    • REGION: region untuk deployment Anda, misalnya us-central1.
    • ZONE: zona yang mendukung Managed Lustre, misalnya us-central1-a.
    • DEPLOYMENT_NAME: nama untuk deployment Anda.

Men-deploy cluster dan penyimpanan

  1. Deploy infrastruktur menggunakan blueprint examples/gke-managed-lustre.yaml dari repositori Cluster Toolkit:

    gcluster deploy examples/gke-managed-lustre.yaml \
        --vars project_id=${PROJECT_ID},deployment_name=${DEPLOYMENT_NAME},region=${REGION},zone=${ZONE},authorized_cidr=${AUTHORIZED_CIDR}
    

    Cluster Toolkit menyediakan VPC, membuat instance Managed Lustre, menyediakan cluster GKE dengan driver CSI Managed Lustre yang diaktifkan, serta membuat PersistentVolume dan PersistentVolumeClaim Kubernetes.

  2. Konfigurasi kubectl untuk mengakses cluster baru Anda:

    gcloud container clusters get-credentials ${DEPLOYMENT_NAME} \
        --zone=${ZONE} \
        --project=${PROJECT_ID}
    

Menjalankan workload dengan Managed Lustre

Kirimkan workload yang memasang volume Managed Lustre menggunakan perintah gcluster job submit. Untuk mengetahui informasi selengkapnya tentang opsi pengiriman tugas, lihat Panduan Pengiriman Tugas Cluster Toolkit.

gcluster job submit \
    --name="test-lustre-$(date +%H%M)" \
    --cluster=${DEPLOYMENT_NAME} \
    --project=${PROJECT_ID} \
    --location=${ZONE} \
    --compute-type=n2-standard-16 \
    --image=ubuntu:latest \
    --command="df -h && echo 'Hello from Managed Lustre on GKE' > /lustre-data/hello.txt && cat /lustre-data/hello.txt" \
    --mount="gke-lustre-instance-pvc;/lustre-data;rw"

Untuk memeriksa log workload dan status eksekusi, gunakan perintah gcluster job logs:

gcluster job logs "test-lustre-$(date +%H%M)" \
    --cluster=${DEPLOYMENT_NAME} \
    --project=${PROJECT_ID} \
    --location=${ZONE}

Outputnya mirip dengan hal berikut ini:

Filesystem                Size  Used Avail Use% Mounted on
overlay                   193G   11G  183G   6% /
tmpfs                      64M     0   64M   0% /dev
10.8.68.5@tcp://lustrefs   35T   22M   35T   1% /lustre-data
shm                        64M     0   64M   0% /dev/shm
Hello from Managed Lustre on GKE

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan dalam dokumen ini, hapus deployment menggunakan Cluster Toolkit:

gcluster destroy ${DEPLOYMENT_NAME}

Langkah berikutnya