Mengenkripsi data workload GPU yang sedang digunakan dengan Confidential GKE Node


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:

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 gcloud components update.

Persyaratan dan batasan

Terlepas dari metode konfigurasi Confidential GKE Nodes 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 hanya satu GPU NVIDIA H100 80 GB dan jenis mesin a3-highgpu-1g.
  • Node harus menggunakan teknologi Confidential Computing TDX Intel.
  • Anda harus memiliki kuota untuk GPU H100 80 GB yang dapat di-preempt (compute.googleapis.com/preemptible_nvidia_h100_gpus) di lokasi node Anda. 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
  • Gunakan Spot VM atau flex-start (Pratinjau).
  • Gunakan GKE versi 1.33.3-gke.1392000 atau yang lebih baru.
  • Anda tidak dapat menggunakan flex-start dengan penyediaan dalam antrean dengan ComputeClasses.
  • Anda tidak dapat menggunakan fitur berbagi GPU seperti berbagi waktu atau GPU multi-instance.
Konfigurasi manual dalam mode Standar
  • Gunakan Spot VM, preemptible VM, flex-start (Pratinjau), atau flex-start dengan penyediaan dalam antrean.
  • Gunakan salah satu versi GKE berikut:
    • 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.
    • Mulai fleksibel dengan penyediaan dalam antrean: 1.32.2-gke.1652000 atau yang lebih baru.
  • Anda tidak dapat menggunakan mulai fleksibel (Pratinjau) jika Anda mengaktifkan Confidential GKE Node untuk seluruh cluster.
  • Anda tidak dapat menggunakan fitur berbagi GPU seperti berbagi waktu atau GPU multi-instance.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat Node GKE Rahasia, minta administrator untuk memberi Anda peran IAM berikut pada Google Cloud project:

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 kustom atau peran yang telah ditentukan lainnya.

Menggunakan ComputeClass 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 Nodes, ikuti langkah-langkah berikut:

  1. Simpan manifes ComputeClass berikut sebagai file YAML:

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTECLASS_NAME
    spec:
      nodePoolConfig:
        confidentialNodeType: TDX
      priorityDefaults:
        location:
          zones: ['ZONE1','ZONE2']
      priorities:
      - gpu:
          type: nvidia-h100-80gb
          count: 1
          driverVersion: default
        spot: true
      activeMigration:
        optimizeRulePriority: true
      nodePoolAutoCreation:
        enabled: true
      whenUnsatisfiable: DoNotScaleUp
    

    Ganti kode berikut:

    • COMPUTECLASS_NAME: nama untuk ComputeClass.
    • ZONE1,ZONE2: daftar zona yang dipisahkan koma untuk membuat node, seperti ['us-central1-a','us-central1-b']. Tentukan zona yang mendukung teknologi Confidential Computing Intel TDX. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
  2. Buat ComputeClass:

    kubectl apply -f PATH_TO_MANIFEST
    

    Ganti PATH_TO_MANIFEST dengan jalur ke file manifes ComputeClass.

  3. 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: 1
              requests:
                cpu: "4"
                memory: "16Gi"
    

    Ganti COMPUTECLASS_NAME dengan nama ComputeClass yang Anda buat.

  4. Membuat Deployment:

    kubectl apply -f PATH_TO_DEPLOYMENT_MANIFEST
    

    Ganti PATH_TO_DEPLOYMENT_MANIFEST dengan 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. Untuk workload GPU, Confidential GKE Node Anda harus menggunakan teknologi Confidential Computing Intel TDX.

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 beban kerja 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: Intel TDX
  • 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 setidaknya satu node pool di cluster dapat menjalankan beban kerja 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. 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

    1. Di konsol Google Cloud , buka halaman Kubernetes clusters:

      Buka cluster Kubernetes

    2. Klik nama cluster mode Standar yang akan diubah.

    3. Klik Add node pool. Halaman Tambahkan node pool akan terbuka.

    4. Di panel Node pool details, lakukan hal berikut:

      1. Pilih Tentukan lokasi node.
      2. Pilih hanya zona yang didukung dan tercantum di bagian Ketersediaan.
      3. Pastikan versi bidang kontrol adalah salah satu versi yang tercantum di bagian Ketersediaan.
    5. Di menu navigasi, klik Node.

    6. Di panel Configure node settings, lakukan tindakan berikut:

      1. Di bagian Konfigurasi mesin, klik GPU.
      2. Di menu GPU type, pilih NVIDIA H100 80GB.
      3. Di menu Number of GPUs, pilih 1.
      4. Pastikan Enable GPU sharing tidak dipilih.
      5. 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.

      6. Di bagian Machine type, pastikan jenis mesinnya adalah a3-highgpu-1g.

      7. Pilih Aktifkan node di Spot VM atau konfigurasi mulai fleksibel dengan penyediaan dalam antrean.

    7. Jika Anda siap membuat node pool, klik Buat.

    gcloud

    Anda dapat membuat node pool GPU yang menjalankan Confidential GKE Node di Spot VM atau menggunakan flex-start 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=tdx --location=LOCATION \
          --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \
          --spot --accelerator=type=nvidia-h100-80gb,count=1,gpu-driver-version=DRIVER_VERSION \
          --machine-type=a3-highgpu-1g
      

      Ganti kode berikut:

      • NODE_POOL_NAME: nama untuk node pool baru Anda.
      • CLUSTER_NAME: nama cluster yang ada.
      • 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. Zona ini harus mendukung penggunaan Confidential Computing NVIDIA. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
      • 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.

    • Buat node pool GPU yang menjalankan Confidential GKE Node menggunakan flex-start dengan penyediaan dalam antrean:

      gcloud container node-pools create NODE_POOL_NAME \
          --cluster=CLUSTER_NAME \
          --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \
          --machine-type=a3-highgpu-1g --confidential-node-type=tdx \
          --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=nvidia-h100-80gb,count=1,gpu-driver-version=DRIVER_VERSION
      

      Ganti TOTAL_MAX_NODES dengan 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 mengupdate node pool yang ada agar menggunakan teknologi Intel TDX 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 memperbarui node pool, Anda harus menginstal driver GPU secara manual yang mendukung Node GKE Rahasia.

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 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