Halaman ini menunjukkan kepada administrator platform dan engineer machine learning (ML) cara membuat cluster Google Kubernetes Engine (GKE) yang dikonfigurasi untuk workload berbasis Pathways. Anda dapat menyediakan cluster yang telah dikonfigurasi sebelumnya secara otomatis menggunakan Cluster Toolkit, atau membuat cluster secara manual menggunakan Google Cloud CLI.
Sebelum memulai
Selesaikan prasyarat berikut sebelum melanjutkan:
- Instal gcloud CLI.
- Instal
kubectldangke-gcloud-auth-plugin. - Jika Anda menggunakan Cluster Toolkit, siapkan Cluster Toolkit dan update ke versi terbaru.
- Aktifkan Kubernetes Engine API.
- Pastikan Anda memiliki kuota TPU atau pemesanan TPU yang cukup untuk slice TPU yang ingin Anda buat.
Menyiapkan lingkungan lokal Anda
Login ke gcloud CLI dengan kredensial Google Cloud Anda:
gcloud auth login
Jika Anda menggunakan Cluster Toolkit, buat juga Kredensial Default Aplikasi (ADC), yang digunakan Terraform:
gcloud auth application-default login
Membuat cluster GKE
Dalam contoh berikut, Anda membuat cluster dengan node pool TPU v6e 2x4. Anda dapat membuat cluster menggunakan Cluster Toolkit atau gcloud CLI.
Cluster Toolkit
Deploy cluster TPU GKE dengan mengikuti petunjuk di Men-deploy cluster TPU v6e GKE. Untuk ringkasan semua opsi deployment TPU, lihat Ringkasan deployment Cloud TPU.
Saat mengonfigurasi blueprint deployment, lakukan hal berikut:
- Tetapkan
enable_pathways_for_tpusketrue(diaktifkan secara default di blueprint TPU Cluster Toolkit). Setelan ini secara otomatis menyediakan node pool CPUcpu-np(n4-standard-64) yang diperlukan dan konfigurasi Kueue untuk pengontrol Pathways. Cluster Toolkit menerapkan konfigurasi Kueue Pathways default hanya jika Anda tidak menentukan file konfigurasi Kueue kustom dalam variabelkueue_configuration_path. - Tetapkan
num_sliceske jumlah node pool slice TPU yang diperlukan untuk workload Anda. - Tetapkan
tpu_topologyke topologi slice TPU yang Anda pilih (misalnya,2x4atau4x4). - Pilih opsi pemakaian. Secara default, file deployment TPU v6e menggunakan pemesanan TPU tertentu, jadi tentukan nama pemesanan dalam variabel
reservation_affinity. Untuk menggunakan opsi konsumsi yang berbeda, lihat Opsi konsumsi GKE.
- Tetapkan
Pastikan node cluster memiliki
STATUSdariReady:kubectl get nodesSetelah membuat cluster, Anda dapat mengirimkan workload Pathways menggunakan perintah
gcluster job submitdengan flag--pathwaysdan--pathways-gcs-location. Untuk mengetahui informasi selengkapnya, lihat Menjalankan workload dengan Pathways.
gcloud
Untuk membuat cluster GKE dan menyiapkannya untuk menjalankan workload Pathways, ikuti langkah-langkah berikut:
Tetapkan variabel lingkungan berikut:
CLUSTER=GKE_CLUSTER_NAME PROJECT=PROJECT_ID ZONE=ZONE REGION=REGION CLUSTER_VERSION=GKE_CLUSTER_VERSION PW_CPU_MACHINE_TYPE="n2-standard-64" NETWORK=NETWORK SUBNETWORK=SUB_NETWORK CLUSTER_NODEPOOL_COUNT=3 TPU_MACHINE_TYPE="ct6e-standard-4t" WORKERS_PER_SLICE=2 TOPOLOGY="2x4" NUM_CPU_NODES=1
Ganti kode berikut:
GKE_CLUSTER_NAME: nama cluster GKE Anda.PROJECT_ID: project ID Google Cloud Anda.ZONE: zona tempat Anda membuat cluster. Pilih zona tempat TPU v6e tersedia. Untuk mengetahui informasi selengkapnya, lihat Region dan zona Cloud TPU.REGION: Opsional: region tempat Anda membuat resource jika menggunakan cluster regional.GKE_CLUSTER_VERSION: Opsional: versi cluster GKE. Gunakan1.32.2-gke.1475000atau yang lebih baru, dan pilih versi yang ada dalam dukungan standar. Untuk mengetahui informasi selengkapnya, lihat jadwal rilis GKE. Jika Anda tidak menentukan versi, hapus flag--cluster-versiondari perintahgcloud container clusters createberikut.NETWORK: Opsional: nama jaringan Virtual Private Cloud (VPC). Jaringan harus ada sebelum Anda membuat cluster. Jika Anda tidak menentukan jaringan, hapus flag--networkdari perintahgcloud container clusters createberikut.SUB_NETWORK: Opsional: nama subnetwork. Subnetwork harus ada sebelum Anda membuat cluster. Jika Anda tidak menentukan subnetwork, hapus flag--subnetworkdari perintahgcloud container clusters createberikut.
Contoh ini menetapkan nilai default untuk variabel yang tersisa, yang dapat Anda ubah untuk workload Anda:
PW_CPU_MACHINE_TYPE: jenis mesin untuk node pool default cluster dan untuk node pool CPU yang menjalankan head Pathways (pengelola resource dan proxy Pathways).NUM_CPU_NODES: jumlah node di node pool CPU.CLUSTER_NODEPOOL_COUNT: jumlah slice TPU. Setiap slice adalah node pool yang terpisah.TPU_MACHINE_TYPEdanTOPOLOGY: jenis mesin TPU dan topologi TPU dari setiap slice.WORKERS_PER_SLICE: jumlah node di setiap slice, yang merupakan jumlah TPU chip dalam topologi dibagi dengan jumlah chip per node. Misalnya, topologi2x4memiliki 8 chip dan nodect6e-standard-4tmemiliki 4 chip, sehingga setiap slice memiliki 2 node.
Buat cluster GKE menggunakan perintah
gcloud container clusters create:gcloud container clusters create ${CLUSTER} \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster-version=${CLUSTER_VERSION} \ --scopes=storage-full,gke-default,cloud-platform \ --machine-type=${PW_CPU_MACHINE_TYPE} \ --network=${NETWORK} \ --subnetwork=${SUBNETWORK}Buat node pool slice TPU menggunakan perintah
gcloud container node-pools create:for i in $(seq 1 ${CLUSTER_NODEPOOL_COUNT}); do gcloud container node-pools create "tpu-np-${i}" \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster=${CLUSTER} \ --machine-type=${TPU_MACHINE_TYPE} \ --num-nodes=${WORKERS_PER_SLICE} \ --placement-type=COMPACT \ --tpu-topology=${TOPOLOGY} \ --scopes=storage-full,gke-default,cloud-platform \ --workload-metadata=GCE_METADATA donePerintah ini tidak menargetkan pemesanan tertentu. Untuk menggunakan pemesanan TPU, tambahkan flag
--reservation-affinity=specificdan--reservation=RESERVATION_NAME, denganRESERVATION_NAMEadalah nama pemesanan TPU Anda. Untuk menggunakan Spot VM, tambahkan flag--spot.Buat node pool CPU untuk head Pathways, yang menjalankan pengelola resource dan proxy Pathways. Beri nama node pool
cpu-npagar perintahgcluster job submit --pathwaysdapat mendeteksinya:gcloud container node-pools create cpu-np \ --project=${PROJECT} \ --zone=${ZONE} \ --cluster=${CLUSTER} \ --machine-type=${PW_CPU_MACHINE_TYPE} \ --num-nodes=${NUM_CPU_NODES} \ --scopes=storage-full,gke-default,cloud-platform \ --workload-metadata=GCE_METADATADapatkan kredensial untuk cluster dan tetapkan namespace default untuk
kubectl:gcloud container clusters get-credentials ${CLUSTER} \ --zone=${ZONE} \ --project=${PROJECT} \ && kubectl config set-context --current --namespace=defaultUntuk menggunakan arsitektur Pathways di cluster GKE Anda, instal
JobSetAPI:kubectl apply --server-side -f https://github.com/kubernetes-sigs/jobset/releases/download/v0.12.0/manifests.yamlPastikan node memiliki
STATUSdariReadydan podjobset-controller-managermemilikiSTATUSdariRunning:kubectl get nodes kubectl get pods --namespace=jobset-systemOutputnya mirip dengan hal berikut ini:
NAME STATUS ROLES AGE VERSION gke-cluster-cpu-np-12345678-abcd Ready <none> 5m v1.32.2-gke.1475000 gke-cluster-tpu-np-1-12345678-efgh Ready <none> 5m v1.32.2-gke.1475000 ... NAME READY STATUS RESTARTS AGE jobset-controller-manager-6f7b8c9d4-xyz12 1/1 Running 0 2m
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan di halaman ini, hapus cluster setelah Anda selesai:
Cluster Toolkit: Hancurkan deployment dengan menjalankan perintah berikut:
./gcluster destroy DEPLOYMENT_FOLDER_NAME
Ganti
DEPLOYMENT_FOLDER_NAMEdengan nama folder deployment Anda.gcloud CLI: Hapus cluster GKE dan node pool-nya dengan menjalankan perintah berikut:
gcloud container clusters delete ${CLUSTER} \ --project=${PROJECT} \ --zone=${ZONE}