Anda dapat mengenkripsi data workload GPU yang sedang digunakan dengan menjalankan workload di Confidential Google Kubernetes Engine Nodes yang dienkripsi. Halaman ini menunjukkan kepada Engineer dan Operator Keamanan cara meningkatkan keamanan data dalam workload yang dipercepat, seperti tugas AI/ML. Anda harus memahami konsep berikut:
Tentang menjalankan workload GPU di Confidential GKE Node
Anda dapat meminta Confidential GKE Node untuk workload GPU menggunakan salah satu metode berikut:
- Menyediakan Confidential GKE Node secara otomatis untuk workload GPU Anda dengan menggunakan ComputeClasses GKE. Anda dapat menggunakan metode ini di cluster Autopilot dan di cluster Standard. Untuk mengetahui informasi selengkapnya, lihat bagian Menggunakan ComputeClass untuk menjalankan workload GPU di Confidential GKE Node.
- Mengonfigurasi Confidential GKE Node secara manual untuk cluster atau node pool Standard Anda. Untuk mengetahui informasi selengkapnya, lihat bagian Mengonfigurasi Confidential GKE Nodes secara manual di GKE Standard.
Batasan
Mode Autopilot hanya mendukung GPU NVIDIA H100 (80 GB) dengan Node GKE Rahasia.
Sebelum memulai
Sebelum memulai, pastikan Anda telah melakukan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine 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.
Persyaratan
Terlepas dari metode konfigurasi Confidential GKE Node yang Anda pilih, Anda harus memenuhi semua persyaratan berikut:
- Node harus berada di zona yang mendukung NVIDIA Confidential Computing. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
- Node harus menggunakan jenis mesin yang didukung, teknologi Confidential Computing, dan GPU. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi yang didukung.
- Anda harus memiliki kuota preemptible untuk GPU yang ingin Anda gunakan di lokasi node. Misalnya, jika Anda menggunakan GPU NVIDIA H100 (80 GB), Anda
harus memiliki kuota untuk
compute.googleapis.com/preemptible_nvidia_h100_gpus. Untuk mengetahui informasi selengkapnya tentang cara mengelola kuota, lihat Melihat dan mengelola kuota.
Selain persyaratan ini, Anda harus memenuhi kondisi tertentu bergantung pada metode konfigurasi Confidential GKE Nodes yang Anda pilih, seperti yang dijelaskan dalam tabel berikut:
| Metode konfigurasi | Persyaratan | Batasan |
|---|---|---|
| ComputeClasses |
|
|
| Konfigurasi manual dalam mode Standar |
|
|
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat Confidential GKE Node, minta administrator untuk memberi Anda peran IAM berikut di Google Cloud project:
-
Membuat Confidential GKE Node:
Kubernetes Engine Cluster Admin (
roles/container.clusterAdmin) -
Men-deploy workload GPU:
Kubernetes Engine Developer (
roles/container.developer)
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.
Menggunakan ComputeClasses untuk menjalankan workload GPU rahasia
Anda dapat menentukan konfigurasi Confidential GKE Node di ComputeClass. ComputeClass adalah resource kustom Kubernetes yang memungkinkan Anda menetapkan konfigurasi node secara deklaratif untuk penskalaan otomatis dan penjadwalan GKE. Anda dapat mengikuti langkah-langkah di bagian ini di cluster Autopilot atau Standard mana pun yang menjalankan GKE versi 1.33.3-gke.1392000 atau yang lebih baru.
Untuk menggunakan ComputeClass guna menjalankan workload GPU di Confidential GKE Node, ikuti langkah-langkah berikut:
Simpan manifes ComputeClass berikut sebagai file YAML:
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTECLASS_NAME spec: nodePoolConfig: confidentialNodeType: CONFIDENTIAL_COMPUTE_TECHNOLOGY priorityDefaults: location: zones: ['ZONE1','ZONE2'] priorities: - gpu: type: GPU_TYPE count: GPU_COUNT driverVersion: default spot: true activeMigration: optimizeRulePriority: true nodePoolAutoCreation: enabled: true whenUnsatisfiable: DoNotScaleUpGanti kode berikut:
COMPUTECLASS_NAME: nama untuk ComputeClass.CONFIDENTIAL_COMPUTE_TECHNOLOGY: teknologi Confidential Computing yang akan digunakan, sepertiTDX. Pilih teknologi yang didukung oleh GPU yang ingin Anda gunakan.ZONE1,ZONE2: daftar zona yang dipisahkan koma untuk membuat node, seperti['us-central1-a','us-central1-b']. Tentukan zona yang mendukung teknologi Confidential Computing dan jenis mesin yang ingin Anda gunakan. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.GPU_TYPE: jenis GPU yang akan digunakan, sepertinvidia-h100-80gb.GPU_COUNT: jumlah GPU yang akan dipasang ke setiap node. Tentukan nilai yang didukung oleh Confidential VM untuk jenis GPU. Misalnya, jika Anda memilih jenis GPUnvidia-h100-80gb, Anda harus menentukan nilai1di kolom ini.
Buat ComputeClass:
kubectl apply -f PATH_TO_MANIFESTGanti
PATH_TO_MANIFESTdengan jalur ke file manifes ComputeClass.Untuk menjalankan workload GPU Anda di Confidential GKE Nodes, pilih ComputeClass dalam manifes workload. Misalnya, simpan manifes Deployment berikut, yang memilih ComputeClass dan GPU, sebagai file YAML:
apiVersion: apps/v1 kind: Deployment metadata: name: confidential-gpu-deployment labels: app: conf-gpu spec: selector: matchLabels: app: conf-gpu replicas: 1 template: metadata: labels: app: conf-gpu spec: nodeSelector: cloud.google.com/compute-class: COMPUTECLASS_NAME containers: - name: example-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 resources: limits: cpu: "4" memory: "16Gi" nvidia.com/gpu: GPU_REQUEST requests: cpu: "4" memory: "16Gi"Ganti kode berikut:
COMPUTECLASS_NAME: nama ComputeClass yang Anda buat.GPU_REQUEST: jumlah GPU yang akan digunakan dalam container. Tentukan nilai yang kurang dari atau sama dengan nilai yang Anda tentukan di kolomgpu.countComputeClass.
Membuat Deployment:
kubectl apply -f PATH_TO_DEPLOYMENT_MANIFESTGanti
PATH_TO_DEPLOYMENT_MANIFESTdengan jalur ke manifes Deployment.
Saat Anda membuat workload GPU, GKE menggunakan konfigurasi di ComputeClass untuk membuat Confidential GKE Node dengan GPU yang terpasang.
Mengonfigurasi Confidential GKE Node secara manual di GKE Standard
Anda dapat menjalankan workload GPU di Confidential GKE Node dalam cluster atau node pool mode Standard.
Mengaktifkan Confidential GKE Node di cluster Standard baru
Anda dapat mengaktifkan Confidential GKE Node untuk seluruh cluster Standard, sehingga setiap node pool GPU yang Anda buat menggunakan teknologi Confidential Computing yang sama. Saat Anda membuat cluster mode Standar baru yang menggunakan Confidential GKE Node untuk workload GPU, pastikan Anda menentukan setelan cluster berikut:
- Location: region atau zona yang mendukung NVIDIA Confidential Computing. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
- Jenis Confidential Computing: teknologi Confidential Computing yang mendukung GPU. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi yang didukung.
Versi cluster: salah satu versi berikut, bergantung pada cara Anda ingin menginstal driver GPU:
- Penginstalan driver GPU manual: 1.32.2-gke.1297000 atau yang lebih baru.
- Penginstalan driver GPU otomatis: 1.33.3-gke.1392000 atau yang lebih baru.
Anda dapat mengonfigurasi GPU secara opsional untuk node pool default yang dibuat GKE di cluster Anda. Namun, sebaiknya Anda menggunakan node pool terpisah untuk GPU, sehingga minimal satu node pool di cluster dapat menjalankan workload apa pun.
Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Confidential GKE Node di cluster Standard.
Menggunakan Confidential GKE Node dengan GPU di node pool Standard
Jika cluster Anda belum mengaktifkan Confidential GKE Node, Anda dapat mengaktifkan Confidential GKE Node di node pool GPU baru atau yang sudah ada tertentu. Bidang kontrol dan node pool harus memenuhi persyaratan di bagian Ketersediaan. Saat mengonfigurasi node pool, Anda dapat memilih untuk menginstal driver GPU secara otomatis atau manual.
Untuk membuat node pool GPU baru yang menggunakan Confidential GKE Nodes, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman Kubernetes clusters:
Klik nama cluster mode Standar yang akan diubah.
Klik tab Nodes.
Klik Create user-managed node pool. Halaman Tambahkan node pool akan terbuka.
Di panel Node pool details, lakukan langkah berikut:
- Pilih Specify node locations.
- Hanya pilih zona yang didukung yang tercantum di bagian Availability.
- Pastikan versi bidang kontrol adalah salah satu versi yang tercantum di bagian Ketersediaan.
Di menu navigasi, klik Node.
Di panel Configure node settings, lakukan tindakan berikut:
- Di bagian Konfigurasi mesin, klik GPU.
- Di menu GPU type, pilih jenis GPU yang didukung oleh Confidential Computing.
- Di menu Number of GPUs, pilih jumlah GPU yang akan dilampirkan ke setiap node. Pilih nilai yang didukung oleh jenis GPU yang Anda pilih. Misalnya, jika Anda memilih GPU NVIDIA H100 (80 GB), pilih 1.
- Pastikan Enable GPU sharing tidak dipilih.
Di bagian Penginstalan Driver GPU, pilih salah satu opsi berikut:
Dikelola Google: GKE otomatis menginstal driver. Jika Anda memilih opsi ini, di menu drop-down Version, pilih salah satu versi driver berikut:
- Default: menginstal versi driver default untuk versi GKE node. Memerlukan GKE versi 1.33.3-gke.1392000 atau yang lebih baru.
- Terbaru: menginstal versi driver terbaru untuk versi GKE node. Memerlukan GKE versi 1.33.3-gke.1392000 atau yang lebih baru.
Dikelola pengguna: lewati penginstalan driver otomatis. Jika memilih opsi ini, Anda harus menginstal driver GPU yang kompatibel secara manual. Memerlukan 1.32.2-gke.1297000 atau yang lebih baru.
Di bagian Machine type, pastikan jenis mesin adalah jenis mesin GPU yang didukung oleh Confidential VM untuk jenis GPU yang Anda pilih.
Pilih Enable nodes on spot VMs atau konfigurasikan Flex-start VM dengan penyediaan dalam antrean.
Jika Anda sudah siap membuat node pool, klik Buat.
gcloud
Anda dapat membuat node pool GPU yang menjalankan Confidential GKE Node di Spot VM atau dengan menggunakan VM mulai fleksibel dengan penyediaan dalam antrean.
Buat node pool GPU yang menjalankan Confidential GKE Nodes di Spot VM:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY \ --location=LOCATION \ --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \ --spot \ --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=DRIVER_VERSION \ --machine-type=MACHINE_TYPEGanti kode berikut:
NODE_POOL_NAME: nama untuk node pool baru Anda.CLUSTER_NAME: nama cluster yang ada.CONFIDENTIAL_COMPUTE_TECHNOLOGY: teknologi Confidential Computing yang akan digunakan, sepertiTDX. Pilih teknologi yang didukung oleh GPU yang ingin Anda gunakan.LOCATION: lokasi untuk node pool baru. Lokasi harus mendukung penggunaan GPU di Confidential GKE Node.NODE_LOCATION1,NODE_LOCATION2,...: daftar zona yang dipisahkan koma untuk menjalankan node. Tentukan zona yang mendukung teknologi Confidential Computing dan jenis mesin yang ingin Anda gunakan. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.GPU_TYPE: jenis GPU yang akan digunakan, sepertinvidia-h100-80gb.GPU_COUNT: jumlah GPU yang akan dipasang ke setiap node. Tentukan nilai yang didukung oleh Confidential VM untuk jenis GPU. Misalnya, jika Anda memilih jenis GPUnvidia-h100-80gb, Anda harus menentukan nilai1di kolom ini.DRIVER_VERSION: versi driver GPU yang akan diinstal. Tentukan salah satu nilai berikut:default: menginstal versi driver default untuk versi GKE node. Memerlukan GKE versi 1.33.3-gke.1392000 atau yang lebih baru.latest: menginstal versi driver terbaru untuk versi GKE node. Memerlukan GKE versi 1.33.3-gke.1392000 atau yang lebih baru.disabled: melewati penginstalan driver otomatis. Jika Anda menentukan nilai ini, Anda harus menginstal driver GPU yang kompatibel secara manual. Memerlukan 1.32.2-gke.1297000 atau yang lebih baru.
MACHINE_TYPE: jenis mesin yang akan digunakan untuk node. Tentukan jenis mesin GPU yang didukung oleh Confidential VM untuk jenis GPU yang Anda pilih.
Buat node pool GPU yang menjalankan Confidential GKE Nodes menggunakan VM mulai fleksibel dengan penyediaan dalam antrean:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \ --machine-type=MACHINE_TYPE \ --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY \ --location=LOCATION \ --flex-start --enable-queued-provisioning \ --enable-autoscaling --num-nodes=0 --total-max-nodes=TOTAL_MAX_NODES \ --location-policy=ANY --no-enable-autorepair \ --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=DRIVER_VERSIONGanti
TOTAL_MAX_NODESdengan jumlah maksimum node yang dapat diskalakan secara otomatis oleh node pool.Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi di flex-start dengan penyediaan dalam antrean, lihat Menjalankan beban kerja skala besar dengan flex-start dengan penyediaan dalam antrean.
Untuk memperbarui node pool yang ada agar menggunakan Confidential Computing, lihat Memperbarui node pool yang ada.
Menginstal driver GPU secara manual yang mendukung Confidential GKE Nodes
Jika Anda tidak mengaktifkan penginstalan driver otomatis saat membuat atau mengupdate node pool, Anda harus menginstal driver GPU secara manual yang mendukung Confidential GKE Nodes.
Perubahan ini memerlukan pembuatan ulang node, yang dapat menyebabkan gangguan pada workload yang sedang berjalan. Untuk mengetahui detail tentang perubahan spesifik ini, temukan baris yang sesuai dalam tabel perubahan manual yang membuat ulang node menggunakan strategi upgrade node tanpa mematuhi kebijakan pemeliharaan. Untuk mempelajari lebih lanjut update node, lihat Merencanakan gangguan update node.
Untuk mendapatkan petunjuk, lihat tab "COS" di Menginstal driver GPU NVIDIA secara manual.
Memecahkan masalah
Untuk mengetahui informasi pemecahan masalah, lihat Memecahkan masalah GPU di GKE.
Langkah berikutnya
- Memastikan bahwa node GPU Anda menggunakan Confidential GKE Node
- Men-deploy workload pada node GPU
- Pelajari metode untuk menjalankan workload skala besar dengan GPU