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 Keamanan dan Operator 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 menggunakan GKE ComputeClasses. Anda dapat menggunakan metode ini di cluster Autopilot dan di cluster Standard. Untuk mengetahui informasi selengkapnya, lihat bagian Menggunakan ComputeClasses untuk menjalankan workload GPU di Confidential GKE Node.
- Mengonfigurasi Confidential GKE Node secara manual untuk cluster atau node pool Standard. Untuk mengetahui informasi selengkapnya, lihat bagian Mengonfigurasi Confidential GKE Node secara manual di GKE Standard.
Batasan
Mode Autopilot hanya mendukung GPU NVIDIA H100 (80 GB) dengan Confidential GKE Node.
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 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, teknologi Confidential Computing, dan GPU yang didukung. 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 Node yang Anda pilih, seperti yang dijelaskan dalam tabel berikut:
| Metode konfigurasi | Persyaratan | Batasan |
|---|---|---|
| ComputeClasses |
|
|
| Konfigurasi manual dalam mode Standard |
|
|
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat Confidential GKE Node, minta administrator untuk memberi Anda peran IAM berikut di project: Google Cloud
-
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 a ComputeClass. ComputeClasses 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 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, maka 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 di Confidential GKE Node, 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.
Buat 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 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 Standard baru yang menggunakan Confidential GKE Node untuk workload GPU, pastikan Anda menentukan setelan cluster berikut:
- Lokasi: 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 gunakan node pool terpisah untuk GPU Anda, sehingga setidaknya 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 tidak mengaktifkan Confidential GKE Node, Anda dapat mengaktifkan Confidential GKE Node di node pool GPU baru atau yang sudah ada. 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 Node, pilih salah satu opsi berikut:
Konsol
Di Google Cloud konsol, buka halaman Kubernetes clusters:
Klik nama cluster mode Standard yang akan diubah.
Klik tab Nodes.
Klik Create user-managed node pool. Halaman Add a node pool akan terbuka.
Di panel Node pool details, lakukan hal berikut:
- Pilih Specify node locations.
- Pilih hanya zona yang didukung yang tercantum di bagian Ketersediaan.
- Pastikan versi bidang kontrol adalah salah satu versi yang tercantum di bagian Ketersediaan.
Di menu navigasi, klik Nodes.
Di panel Configure node settings, lakukan hal berikut:
- Di bagian Machine configuration, klik GPUs.
- Di menu GPU type, pilih jenis GPU yang didukung oleh Confidential Computing.
- Di menu Number of GPUs, pilih jumlah GPU yang akan dipasang 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 GPU Driver installation, pilih salah satu opsi berikut:
Google-managed: GKE otomatis menginstal driver. Jika Anda memilih opsi ini, di daftar 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.
User-managed: melewati penginstalan driver otomatis. Jika Anda 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 konfigurasi Flex-start VM dengan penyediaan dalam antrean.
Jika Anda siap membuat node pool, klik Create.
gcloud
Anda dapat membuat node pool GPU yang menjalankan Confidential GKE Node di Spot VM atau menggunakan Flex-start VM dengan penyediaan dalam antrean.
Buat node pool GPU yang menjalankan Confidential GKE Node 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 Anda. 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 Node menggunakan Flex-start VM 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 --reservation-affinity=none --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 workload skala besar dengan flex-start dengan penyediaan dalam antrean.
Untuk mengupdate node pool yang ada agar menggunakan Confidential Computing, lihat Mengupdate node pool yang ada.
Menginstal driver GPU secara manual yang mendukung Confidential GKE Node
Jika Anda tidak mengaktifkan penginstalan driver otomatis saat membuat atau mengupdate node pool, Anda harus menginstal driver GPU secara manual yang mendukung Confidential GKE Node.
Perubahan ini memerlukan pembuatan ulang node, yang dapat menyebabkan gangguan pada workload yang sedang berjalan. Untuk mengetahui detail tentang perubahan khusus ini, temukan baris yang sesuai dalam perubahan manual yang membuat ulang node menggunakan tabel strategi upgrade node tanpa memperhatikan kebijakan pemeliharaan . Untuk mempelajari lebih lanjut update node, lihat Merencanakan gangguan update node.
Untuk mengetahui petunjuknya, 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 node GPU Anda menggunakan Confidential GKE Node
- Men-deploy workload di node GPU
- Mempelajari metode untuk menjalankan workload skala besar dengan GPU