Mengenkripsi data workload aktif dengan Confidential GKE Node


Halaman ini menunjukkan cara menerapkan enkripsi data aktif di node dan workload menggunakan Confidential Google Kubernetes Engine Nodes. Menerapkan enkripsi dapat membantu meningkatkan keamanan workload Anda.

Halaman ini ditujukan bagi spesialis Keamanan yang menerapkan langkah-langkah keamanan di GKE. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE umum.

Sebelum membaca halaman ini, pastikan Anda memahami konsep data yang sedang digunakan.

Apa yang dimaksud dengan Confidential GKE Nodes?

Anda dapat mengenkripsi workload dengan Confidential GKE Node atau Mode rahasia untuk Hyperdisk Balanced.

Confidential GKE Nodes

Confidential GKE Node menggunakan Confidential VM Compute Engine untuk melindungi data aktif dengan enkripsi memori berbasis hardware. Confidential GKE Nodes mendukung teknologi Confidential Computing berikut:

  • AMD Secure Encrypted Virtualization (SEV)
  • AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP)
  • Ekstensi Domain Tepercaya (TDX) Intel

Untuk mengetahui informasi selengkapnya tentang teknologi ini dan bantuan dalam memilih teknologi yang optimal untuk persyaratan Anda, lihat Ringkasan Confidential VM.

Confidential GKE Node tidak mengubah tindakan keamanan yang diterapkan GKE pada bidang kontrol cluster. Untuk mempelajari langkah-langkah ini, lihat Keamanan bidang kontrol. Untuk visibilitas atas siapa yang mengakses panel kontrol di project Google Cloud Anda, gunakan Transparansi Akses.

Anda dapat mengaktifkan Confidential GKE Node untuk seluruh cluster, untuk node pool tertentu, atau untuk workload tertentu. Tabel berikut menjelaskan metode pengaktifan ini:

Setelan Confidential GKE Node Deskripsi Perilaku
Tingkat beban kerja Konfigurasi Confidential GKE Node di ComputeClass, lalu pilih ComputeClass tersebut dalam workload. GKE membuat node yang menggunakan konfigurasi tersebut untuk menjalankan Pod Anda.

Setelan workload mendukung salah satu teknologi Confidential Computing berikut, terlepas dari mode cluster atau jenis node pool:

  • AMD SEV
  • AMD SEV-SNP
  • Intel TDX
Tingkat cluster Setelan ini tidak dapat diurungkan.

Aktifkan Confidential GKE Nodes saat Anda membuat cluster Autopilot atau Standard baru. Semua node di cluster menggunakan Confidential GKE Node. Anda tidak dapat mengganti setelan cluster untuk setiap kumpulan node atau workload.

Teknologi yang didukung di tingkat cluster bergantung pada mode operasi cluster, sebagai berikut:

  • Cluster Autopilot: AMD SEV
  • Cluster standar:
    • AMD SEV
    • AMD SEV-SNP
    • Intel TDX
Level node pool Aktifkan Confidential GKE Node saat Anda membuat node pool baru di cluster Standard. Anda hanya dapat menggunakan metode ini jika Confidential GKE Node dinonaktifkan di tingkat cluster.

Teknologi yang didukung di tingkat node pool bergantung pada apakah node pool menggunakan penyediaan otomatis node, sebagai berikut:

  • Node pool yang dibuat secara manual:
    • AMD SEV
    • AMD SEV-SNP
    • Intel TDX
  • Node pool yang disediakan secara otomatis:
    • AMD SEV
    • AMD SEV-SNP

Mode rahasia untuk Hyperdisk Balanced

Anda juga dapat mengaktifkan Mode rahasia untuk Hyperdisk Balanced di penyimpanan disk boot Anda, yang mengenkripsi data Anda di enklave tambahan yang didukung hardware.

Anda dapat mengaktifkan Mode rahasia untuk Hyperdisk Balanced saat melakukan salah satu tindakan berikut:

  • Buat cluster baru
  • Membuat node pool baru

Anda tidak dapat mengupdate cluster atau node pool yang ada untuk mengubah setelan Mode rahasia untuk Hyperdisk Balanced.

Tabel berikut menunjukkan perilaku GKE yang berlaku saat Anda mengaktifkan mode Confidential untuk setelan Hyperdisk Seimbang di level cluster atau di level node pool:

Setelan mode rahasia untuk Hyperdisk Balanced Cara mengonfigurasi Perilaku
Level cluster Buat cluster baru Hanya node pool default di cluster yang akan menggunakan setelan Mode rahasia untuk Hyperdisk Balanced. Anda tidak dapat melakukan tindakan berikut:
  • Menonaktifkan setelan Mode rahasia untuk Hyperdisk Balanced untuk node pool yang sudah ada di cluster
  • Mengaktifkan setelan Mode rahasia untuk Hyperdisk Balanced di cluster yang ada
Level node pool Membuat node pool baru Anda dapat mengonfigurasi setelan Mode rahasia untuk Hyperdisk Balanced untuk node pool baru pada waktu pembuatan. Anda tidak dapat mengupdate node pool yang ada untuk menggunakan setelan Mode rahasia untuk Hyperdisk Balanced.

Harga

Harga berikut berlaku, bergantung pada cara Anda mengonfigurasi Confidential GKE Node:

Harga Confidential GKE Node
Tingkat workload

Dalam workload Autopilot, kedua biaya berikut berlaku:

  • Penagihan berbasis node Autopilot untuk seri mesin Compute Engine tempat Pod berjalan. Untuk mengetahui informasi selengkapnya, lihat bagian "Pod yang memiliki persyaratan hardware tertentu" di Harga Google Kubernetes Engine.
  • Harga Confidential GKE Node. Untuk mengetahui informasi selengkapnya, lihat bagian "Harga Confidential GKE Node di GKE Autopilot" di harga Confidential VM.

Dalam workload Standar, kedua biaya berikut berlaku:

Level cluster

Di cluster Autopilot, kedua biaya berikut berlaku:

  • Harga class komputasi Balanced, karena seri mesin default di cluster berubah menjadi N2D. Untuk mengetahui informasi selengkapnya, lihat bagian "Pod kelas komputasi Seimbang dan Skala Luas" di Harga Google Kubernetes Engine.
  • Harga Confidential GKE Node. Untuk mengetahui informasi selengkapnya, lihat bagian "Harga Confidential GKE Node di GKE Autopilot" di harga Confidential VM.

Di cluster Standard, kedua biaya berikut berlaku:

Level node pool

Di node pool Standard, biaya berikut berlaku:

Selain itu, Confidential GKE Node mungkin menghasilkan data log yang sedikit lebih banyak saat startup daripada node yang bukan Confidential GKE Node. Untuk mengetahui informasi selengkapnya tentang harga log, lihat Harga untuk Google Cloud Observability.

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

Confidential GKE Nodes memiliki persyaratan berikut:

  • Cluster Autopilot harus menjalankan GKE versi 1.30.2 atau yang lebih baru.
  • Cluster standar harus menjalankan salah satu versi GKE berikut, bergantung pada teknologi Confidential Computing yang Anda pilih:

    • AMD SEV: versi GKE apa pun.
    • AMD SEV-SNP: 1.32.2-gke.1297000 atau yang lebih baru.
    • Intel TDX: 1.32.2-gke.1297000 atau yang lebih baru.
  • Untuk mengaktifkan Confidential GKE Nodes di tingkat workload, cluster Autopilot dan Standard harus menjalankan GKE versi 1.33.3-gke.1392000 atau yang lebih baru.

  • Node harus menggunakan jenis mesin yang mendukung teknologi Confidential Computing yang Anda pilih. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin, CPU, dan zona.

  • Bidang kontrol dan node cluster harus berada di lokasi yang mendukung teknologi Confidential Computing yang Anda pilih. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.

Mengonfigurasi Confidential GKE Node di tingkat workload

Untuk mengaktifkan Confidential GKE Node di setiap workload, Anda menggunakan ComputeClass. ComputeClass adalah resource kustom Kubernetes yang memungkinkan Anda menentukan atribut node baru yang dibuat GKE dan memungkinkan Anda mengontrol perilaku penggantian jika hardware tidak tersedia. ComputeClass mendukung semua teknologi Confidential Computing yang tersedia untuk GKE, meskipun teknologi tertentu tidak didukung di tingkat cluster atau node pool.

Untuk mengonfigurasi Confidential GKE Nodes di tingkat workload, ikuti langkah-langkah berikut:

  1. Opsional: Untuk cluster GKE Standard, aktifkan penyediaan otomatis node untuk cluster. Untuk cluster Autopilot, lewati langkah ini.

    Jika memilih untuk menggunakan ComputeClass dengan hanya node pool yang dibuat secara manual, Anda juga harus mengonfigurasi taint node dan label node secara manual di node pool tersebut. Konfigurasi manual tambahan ini dapat menyebabkan Anda melihat lebih sedikit manfaat dari penggunaan ComputeClass untuk membuat Confidential GKE Node.

  2. Simpan manifes ComputeClass berikut sebagai file YAML. Untuk mengetahui informasi selengkapnya tentang kolom dan nilai yang didukung untuk ComputeClass, lihat ComputeClass CustomResourceDefinition.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      nodePoolConfig:
        confidentialNodeType: CONFIDENTIAL_COMPUTE_TECHNOLOGY
      nodePoolAutoCreation:
        enabled: true
      activeMigration:
        optimizeRulePriority: true
      priorityDefaults:
        location:
          zones: ['ZONE1','ZONE2']
      priorities:
      - machineFamily: MACHINE_SERIES
      - machineType: MACHINE_TYPE
      whenUnsatisfiable: DoNotScaleUp
    

    Ganti kode berikut:

    • COMPUTE_CLASS: nama untuk class komputasi baru Anda.
    • CONFIDENTIAL_COMPUTE_TECHNOLOGY: teknologi Confidential Computing yang akan digunakan. Nilai berikut didukung:

      • SEV untuk AMD SEV
      • SEV_SNP untuk AMD SEV-SNP
      • TDX untuk Intel TDX
    • ZONE1,ZONE2,...: zona tempat membuat node, seperti ['us-central1-a','us-central1-b']. Tentukan zona yang mendukung teknologi Confidential Computing yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.

    • MACHINE_SERIES: seri mesin untuk node, seperti n2d. Tentukan seri mesin yang mendukung teknologi Confidential Computing yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin, CPU, dan zona.

    • MACHINE_TYPE jenis mesin untuk node, seperti n2d-standard-4. Tentukan jenis mesin yang mendukung teknologi Confidential Computing yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat Jenis mesin, CPU, dan zona.

    Manifes ini mencakup kolom spec.nodePoolAutoCreation dengan nilai enabled: true, yang memungkinkan GKE membuat node pool baru dengan menggunakan penyediaan otomatis node.

  3. Buat ComputeClass di cluster Anda:

    kubectl apply -f PATH_TO_COMPUTE_CLASS_MANIFEST
    

    Ganti PATH_TO_COMPUTE_CLASS_MANIFEST dengan jalur ke file manifes ComputeClass.

  4. Simpan manifes Deployment berikut sebagai file YAML:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: helloweb
      labels:
        app: hello
    spec:
      selector:
        matchLabels:
          app: hello
      template:
        metadata:
          labels:
            app: hello
        spec:
          nodeSelector:
            # Replace with the name of a compute class
            cloud.google.com/compute-class: COMPUTE_CLASS 
          containers:
          - name: hello-app
            image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
            ports:
            - containerPort: 8080
            resources:
              requests:
                cpu: "250m"
                memory: "4Gi"

  5. Membuat Deployment:

    kubectl apply -f PATH_TO_DEPLOYMENT_MANIFEST
    

    Ganti PATH_TO_DEPLOYMENT_MANIFEST dengan jalur ke file manifes Deployment.

Node baru yang dibuat GKE untuk workload ini menggunakan teknologi Confidential Computing yang Anda tentukan. Node ini berjalan di salah satu zona yang Anda pilih, pada jenis mesin yang Anda tentukan di ComputeClass. GKE menambahkan taint node dan label node sehingga hanya Pod yang memilih ComputeClass yang sama yang dapat berjalan di node.

Mengonfigurasi Confidential GKE Node di level cluster

Anda dapat mengaktifkan Confidential GKE Node untuk seluruh cluster Autopilot atau Standard, yang berarti setiap node di cluster menggunakan Confidential GKE Node. Akibatnya, semua workload yang Anda deploy di cluster tersebut berjalan di Confidential GKE Node. Anda tidak dapat mengganti setelan cluster di setiap workload atau node pool.

Buat cluster Autopilot baru

Cluster Autopilot hanya mendukung AMD SEV di tingkat cluster. Saat Anda mengaktifkan Confidential GKE Nodes, seri mesin default di cluster Autopilot akan berubah menjadi N2D. Semua workload Anda berjalan di node rahasia ini tanpa perlu mengubah manifes workload Anda.

  • Jalankan perintah berikut:

    gcloud container clusters create-auto CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-confidential-nodes
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster Autopilot.
    • CONTROL_PLANE_LOCATION: region Compute Engine untuk bidang kontrol cluster, seperti us-central1.

    Cluster harus menjalankan versi 1.30.2 atau yang lebih baru. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster Autopilot dengan saluran rilis dan versi tertentu.

Buat cluster Standar baru

Anda dapat menentukan teknologi Confidential Computing untuk node saat membuat cluster Standar. Menentukan teknologi saat Anda membuat cluster akan memberikan efek berikut:

  • Anda hanya dapat membuat node pool atau workload yang menggunakan Confidential GKE Node di cluster tersebut.
  • Anda tidak dapat mengupdate cluster untuk menonaktifkan Confidential GKE Node.
  • Anda tidak dapat mengganti teknologi Confidential Computing tingkat cluster di setiap node pool atau workload.

Mengonfigurasi setelan Confidential Computing di tingkat cluster bersifat permanen. Oleh karena itu, pertimbangkan kasus penggunaan berikut sebelum Anda membuat cluster:

Untuk membuat cluster mode Standard yang menggunakan Node GKE Rahasia, pilih salah satu opsi berikut:

gcloud

Saat membuat cluster baru, tentukan opsi --confidential-node-type di gcloud CLI:

gcloud container clusters create CLUSTER_NAME \
    --location=LOCATION \
    --machine-type=MACHINE_TYPE \
    --node-locations=ZONE1,ZONE2,... \
    --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda.
  • LOCATION: lokasi Compute Engine untuk bidang kontrol cluster. Lokasi harus mendukung teknologi Confidential Computing yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat bagian Ketersediaan.
  • MACHINE_TYPE: jenis mesin yang mendukung teknologi Confidential Computing yang Anda tentukan. Untuk mengetahui informasi selengkapnya, lihat bagian Ketersediaan.
  • ZONE1,ZONE2,...: daftar zona yang dipisahkan koma di region bidang kontrol yang mendukung teknologi Confidential Computing baru. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
  • CONFIDENTIAL_COMPUTE_TECHNOLOGY: teknologi Confidential Computing yang akan digunakan. Nilai-nilai berikut didukung:

    • sev: AMD SEV
    • sev_snp: AMD SEV-SNP
    • tdx: Intel TDX

Anda juga dapat menggunakan flag --enable-confidential-nodes dalam perintah pembuatan cluster. Jika Anda hanya menentukan tanda ini dalam perintah, cluster akan menggunakan AMD SEV. Jenis mesin yang Anda tentukan dalam perintah harus mendukung AMD SEV. Namun, jika Anda menentukan flag --confidential-node-type dalam perintah yang sama, GKE akan menggunakan nilai yang Anda tentukan dalam flag --confidential-node-type.

Konsol

  1. Di konsol Google Cloud , buka halaman Create a Kubernetes cluster.

    Buka Membuat cluster Kubernetes

  2. Di menu navigasi, di bagian Cluster, klik Security.

  3. Centang kotak Aktifkan Confidential GKE Node.

  4. Dalam dialog Perubahan yang diperlukan, klik Buat perubahan.

  5. Di menu Type, pilih teknologi Confidential Computing yang ingin Anda gunakan.

    Jika teknologi yang Anda pilih memerlukan seri mesin Compute Engine tertentu, dialog akan muncul. Klik Buat perubahan untuk memperbarui seri mesin untuk node pool.

  6. Di menu navigasi, di bagian Node pools, klik default-pool.

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

    1. Centang kotak Specify node locations. Daftar zona di region cluster akan muncul.
    2. Centang kotak untuk zona yang mendukung teknologi Confidential Computing yang Anda pilih untuk node. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
  8. Klik Buat.

Untuk mengetahui informasi selengkapnya tentang cara membuat cluster, lihat Membuat cluster regional.

Untuk node pool yang dibuat dengan setelan Mode rahasia untuk Hyperdisk Balanced, hanya node di node pool yang dibatasi pada konfigurasi penyiapan. Untuk setiap node pool baru yang dibuat di cluster, Anda harus menyiapkan mode rahasia saat pembuatan.

Mengonfigurasi penyediaan otomatis node

Anda dapat mengonfigurasi penyediaan otomatis node untuk menggunakan Confidential GKE Node di node pool yang disediakan secara otomatis. Penyediaan otomatis Node mendukung teknologi Confidential Computing berikut:

  • AMD SEV
  • AMD SEV-SNP

Untuk menggunakan Confidential GKE Node dengan penyediaan otomatis node, tentukan flag gcloud CLI --enable-confidential-nodes saat Anda membuat cluster. Pertimbangan tambahan berikut berlaku:

  • Saat membuat cluster, pilih teknologi Confidential Computing yang didukung oleh penyediaan otomatis node. Pilihan ini tidak dapat diurungkan di tingkat cluster.
  • Saat Anda mengaktifkan penyediaan otomatis node di cluster yang ada, cluster tersebut harus sudah menggunakan teknologi Confidential GKE Nodes yang didukung oleh penyediaan otomatis node.
  • Saat men-deploy workload, pastikan workload memilih teknologi Confidential Computing cluster dan seri mesin yang kompatibel untuk teknologi tersebut.

Mengonfigurasi Confidential GKE Node di tingkat node pool

Anda dapat mengaktifkan Confidential GKE Node pada node pool tertentu jika Confidential GKE Node dinonaktifkan di tingkat cluster.

Setelan mode rahasia untuk Hyperdisk Balanced harus ditentukan selama permintaan pembuatan node pool.

Membuat node pool baru

Untuk membuat node pool baru dengan Confidential GKE Node yang diaktifkan, pilih salah satu opsi berikut:

gcloud

Jalankan perintah berikut:

gcloud container node-pools create NODE_POOL_NAME \
    --location=LOCATION \
    --cluster=CLUSTER_NAME \
    --machine-type=MACHINE_TYPE \
    --node-locations=ZONE1,ZONE2,... \
    --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool baru.
  • LOCATION: lokasi untuk node pool baru. Lokasi harus mendukung teknologi Confidential Computing yang Anda tentukan. Untuk mengetahui detailnya, lihat bagian Ketersediaan.
  • CLUSTER_NAME: nama cluster Anda.
  • MACHINE_TYPE: jenis mesin yang mendukung teknologi Confidential Computing yang Anda tentukan. Untuk mengetahui detailnya, lihat bagian Ketersediaan.
  • ZONE1,ZONE2,...: daftar zona yang dipisahkan koma di region cluster yang mendukung teknologi Confidential Computing baru. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
  • CONFIDENTIAL_COMPUTE_TECHNOLOGY: teknologi Confidential Computing yang akan digunakan. Nilai-nilai berikut didukung:

    • sev: AMD SEV
    • sev_snp: AMD SEV-SNP
    • tdx: Intel TDX

Anda juga dapat menggunakan flag --enable-confidential-nodes dalam perintah pembuatan cluster. Jika Anda hanya menentukan tanda ini dalam perintah, cluster akan menggunakan AMD SEV. Jenis mesin yang Anda tentukan dalam perintah harus mendukung AMD SEV. Namun, jika Anda menentukan flag --confidential-node-type dalam perintah yang sama, GKE akan menggunakan nilai yang Anda tentukan dalam flag --confidential-node-type.

Konsol

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

    Buka cluster Kubernetes

  2. Klik nama cluster Standar Anda.

  3. Klik Add node pool.

  4. Di menu navigasi, klik Security.

  5. Di panel Node security, lakukan hal berikut:

    1. Centang kotak Aktifkan Confidential GKE Node.
    2. Dalam dialog Perubahan yang diperlukan, klik Buat perubahan.
    3. Di menu Type, pilih teknologi Confidential Computing yang ingin Anda gunakan.

      Jika teknologi yang Anda pilih memerlukan seri mesin Compute Engine tertentu, dialog akan muncul. Klik Buat perubahan untuk memperbarui seri mesin untuk node pool.

  6. Di menu navigasi, klik Detail node pool.

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

    1. Centang kotak Specify node locations. Daftar zona di region cluster akan muncul.
    2. Centang kotak untuk zona yang mendukung teknologi Confidential Computing yang Anda pilih untuk node. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
  8. Opsional: Konfigurasikan setelan lain untuk node pool Anda.

  9. Klik Buat.

Memperbarui node pool yang ada

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.

Anda dapat mengupdate node pool yang ada untuk menggunakan Confidential GKE Node atau untuk mengganti teknologi Confidential Computing yang digunakan oleh node. Kumpulan node harus memenuhi semua persyaratan berikut:

  • Node menggunakan jenis mesin yang mendukung teknologi Confidential Computing yang dipilih.
  • Node berjalan di zona yang mendukung teknologi Confidential Computing yang dipilih.

Karena jenis mesin dan ketersediaan lokasi dapat bervariasi di antara teknologi Confidential Computing, Anda mungkin perlu memperbarui atribut ini untuk kumpulan node sebelum mengaktifkan teknologi Confidential Computing tertentu.

Untuk mengupdate node pool yang ada agar menggunakan Confidential GKE Node, pilih salah satu opsi berikut:

gcloud

Anda dapat menggunakan gcloud CLI untuk mengaktifkan Confidential GKE Node di node pool atau mengubah teknologi Confidential Computing pada node.

  1. Jika node pool sudah menggunakan Confidential GKE Node, nonaktifkan Confidential GKE Node. Tunggu hingga operasi update pool node selesai.
  2. Ubah jenis mesin kumpulan node dan lokasi node ke nilai yang didukung untuk teknologi Confidential Computing baru:

    gcloud container node-pools update NODE_POOL_NAME \
        --cluster=CLUSTER_NAME \
        --location=CLUSTER_LOCATION \
        --machine-type=MACHINE_TYPE \
        --node-locations=ZONE1,ZONE2,...
    

    Ganti kode berikut:

    • NODE_POOL_NAME: nama node pool yang ada.
    • CLUSTER_NAME: nama cluster.
    • CLUSTER_LOCATION: lokasi cluster.
    • MACHINE_TYPE: jenis mesin yang mendukung teknologi Confidential Computing baru. Untuk mengetahui informasi selengkapnya, lihat bagian Ketersediaan.
    • ZONE1,ZONE2,...: daftar zona yang dipisahkan koma di region cluster yang mendukung teknologi Confidential Computing baru. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.
  3. Perbarui node pool dengan teknologi Confidential Computing yang akan digunakan:

    gcloud container node-pools update NODE_POOL_NAME \
        --cluster=CLUSTER_NAME \
        --location=CLUSTER_LOCATION \
        --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY
    

    Ganti CONFIDENTIAL_COMPUTE_TECHNOLOGY dengan teknologi Confidential Computing yang akan digunakan. Nilai berikut didukung:

    • sev: AMD SEV
    • sev_snp: AMD SEV-SNP
    • tdx: Intel TDX

Konsol

Anda dapat mengupdate node pool yang ada untuk menggunakan Confidential GKE Node hanya jika jenis mesin node pool didukung oleh teknologi Confidential Computing yang Anda pilih. Jika node tidak menggunakan jenis mesin yang didukung, gunakan petunjuk gcloud CLI di bagian ini.

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

    Buka cluster Kubernetes

  2. Klik nama cluster Standar Anda.

  3. Klik tab Nodes.

  4. Klik nama node pool yang ingin diubah.

  5. Di halaman Detail node pool, klik Edit. Panel Edit kumpulan node akan terbuka.

  6. Di bagian Zones, pastikan zona yang dipilih mendukung teknologi Confidential Computing. Untuk mengetahui informasi selengkapnya, lihat Melihat zona yang didukung.

    Jika zona yang dipilih tidak mendukung teknologi, lakukan hal berikut:

    1. Hapus centang pada kotak untuk zona yang tidak didukung.
    2. Opsional: Pilih kotak centang untuk zona lain yang didukung.
    3. Klik Simpan. Tunggu hingga operasi update kumpulan node selesai.
    4. Klik Edit untuk membuka kembali panel Edit node pool.
  7. Di bagian Security, centang kotak Enable Confidential GKE Nodes.

  8. Di menu Type, pilih teknologi Confidential Computing untuk node.

  9. Klik Simpan.

Menempatkan workload hanya di node pool rahasia

Jika Anda mengaktifkan Confidential GKE Node di level cluster, semua workload Anda akan berjalan di node rahasia. Anda tidak perlu melakukan perubahan pada manifes. Namun, jika Anda mengaktifkan Confidential GKE Node hanya untuk node pool mode Standard tertentu di tingkat node pool, Anda harus menyatakan secara deklaratif bahwa workload Anda hanya boleh berjalan di node pool dengan Confidential GKE Node.

  • Untuk mewajibkan workload berjalan di teknologi Confidential Computing tertentu, gunakan pemilih node dengan label cloud.google.com/gke-confidential-nodes-instance-type, seperti dalam contoh berikut:

    apiVersion: v1
    kind: Pod
    spec:
    # For readability, lines are omitted from this example manifest
      nodeSelector:
        cloud.google.com/gke-confidential-nodes-instance-type: "CONFIDENTIAL_COMPUTE_SELECTOR"
    

    Ganti CONFIDENTIAL_COMPUTE_SELECTOR dengan nama teknologi yang digunakan node pool. Kolom ini mendukung nilai berikut, yang harus Anda tentukan dalam huruf besar:

    • SEV: AMD SEV
    • SEV_SNP: AMD SEV-SNP
    • TDX: Intel TDX
  • Agar workload dapat berjalan di node rahasia mana pun, terlepas dari teknologi Confidential Computing, gunakan aturan afinitas node, seperti dalam contoh berikut:

    apiVersion: v1
    kind: Pod
    spec:
      containers:
      - name: confidential-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: cloud.google.com/gke-confidential-nodes-instance-type
                operator: Exists
    
  • Agar workload dapat berjalan di node yang hanya menggunakan subset teknologi Confidential Computing yang tersedia, gunakan aturan afinitas node yang mirip dengan contoh berikut:

    apiVersion: v1
    kind: Pod
    spec:
      containers:
      - name: confidential-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: cloud.google.com/gke-confidential-nodes-instance-type
                operator: In
                values:
                - SEV
                - SEV_SNP
                - TDX
    

    Di kolom values, tentukan hanya teknologi Confidential Computing yang ingin Anda gunakan untuk menjalankan workload.

Pastikan Confidential GKE Node diaktifkan

Anda dapat memeriksa apakah cluster atau node Anda menggunakan Confidential GKE Nodes dengan memeriksa cluster, kumpulan node, node, atau instance Compute Engine.

Verifikasi untuk cluster

Pilih salah satu opsi berikut:

gcloud

Jelaskan cluster:

gcloud container clusters describe CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --format='yaml(confidentialNodes.confidentialInstanceType)'

Jika Confidential GKE Nodes diaktifkan, output-nya akan mirip dengan berikut:

confidentialNodes:
  confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR

Konsol

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

    Buka cluster Kubernetes

  2. Klik nama cluster yang ingin diperiksa.

  3. Di bagian Keamanan, pastikan kolom Confidential GKE Nodes memiliki nilai Diaktifkan.

Memverifikasi untuk node pool

Pilih salah satu opsi berikut:

gcloud

Jelaskan node pool:

gcloud container node-pools describe NODE_POOL_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --format='yaml(confidentialNodes.confidentialInstanceType,enableConfidentialStorage)'

Jika Confidential GKE Nodes diaktifkan, output-nya akan mirip dengan berikut:

confidentialNodes:
  confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR

Jika mode Rahasia untuk Hyperdisk Balanced juga diaktifkan, output-nya akan mirip dengan berikut ini:

confidentialNodes:
  confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR
enableConfidentialStorage: true

Konsol

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

    Buka cluster Kubernetes

  2. Klik nama cluster yang ingin diperiksa.

  3. Klik nama node pool.

  4. Di bagian Keamanan, pastikan kolom Confidential GKE Nodes memiliki nilai Enabled.

Memverifikasi untuk node tertentu

  1. Temukan nama node:

    kubectl get nodes
    
  2. Jelaskan node:

    kubectl describe NODE_NAME
    

    Ganti NODE_NAME dengan nama node yang akan diperiksa.

    Outputnya mirip dengan hal berikut ini:

    Name:               gke-cluster-1-default-pool-affsf335r-asdf
    Roles:              <none>
    Labels:             cloud.google.com/gke-boot-disk=pd-balanced
                        cloud.google.com/gke-container-runtime=containerd
                        cloud.google.com/gke-confidential-nodes-instance-type=CONFIDENTIAL_COMPUTE_SELECTOR
                        cloud.google.com/gke-nodepool=default-pool
                        cloud.google.com/gke-os-distribution=cos
                        cloud.google.com/machine-family=e2
    # lines omitted for clarity
    

    Dalam output ini, label node cloud.google.com/gke-confidential-nodes-instance-type menunjukkan bahwa node adalah node rahasia.

Menetapkan batasan kebijakan organisasi

Anda dapat menentukan batasan kebijakan organisasi untuk memastikan bahwa semua resource VM yang dibuat di seluruh organisasi adalah instance Confidential VMs. Untuk GKE, Anda dapat menyesuaikan batasan Batasi Non-Confidential Computing agar mewajibkan semua cluster baru dibuat dengan mengaktifkan salah satu teknologi Confidential Computing yang tersedia. Tambahkan nama Layanan API container.googleapis.com ke daftar tolak saat menegakkan batasan kebijakan organisasi, seperti dalam contoh berikut:

gcloud resource-manager org-policies deny \
    constraints/compute.restrictNonConfidentialComputing compute.googleapis.com container.googleapis.com \
    --project=PROJECT_ID

Ganti PROJECT_ID dengan project ID Anda.

Membuat PersistentVolume untuk Mode rahasia untuk Hyperdisk Balanced

Untuk mendapatkan panduan tentang nilai yang diizinkan untuk throughput atau IOPS, lihat Merencanakan tingkat performa untuk volume Hyperdisk.

Contoh berikut menunjukkan cara membuat mode Rahasia untuk StorageClass Hyperdisk Balanced untuk setiap jenis Hyperdisk:

Hyperdisk Balanced

  1. Simpan manifes berikut dalam file bernama confidential-hdb-example-class.yaml:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: balanced-storage
    provisioner: pd.csi.storage.gke.io
    volumeBindingMode: WaitForFirstConsumer
    allowVolumeExpansion: true
    parameters:
      type: hyperdisk-balanced
      provisioned-throughput-on-create: "250Mi"
      provisioned-iops-on-create: "7000"
      enable-confidential-storage: true
      disk-encryption-kms-key: "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/HSM_KEY_NAME"
    

    Ganti kode berikut:

    • KMS_PROJECT_ID: project yang memiliki kunci Cloud KMS
    • REGION: region tempat disk berada
    • KEY_RING: nama key ring yang menyertakan kunci
    • HSM_KEY_NAME: nama kunci HSM yang digunakan untuk mengenkripsi disk
  2. Buat StorageClass:

    kubectl create -f hdb-example-class.yaml
    
  3. Buat Klaim Volume Persisten Hyperdisk untuk GKE yang menggunakan volume Hyperdisk Balanced dengan mode Rahasia Anda.

Untuk menemukan nama StorageClass yang tersedia di cluster Anda, jalankan perintah berikut:

kubectl get sc

Batasan

Confidential GKE Nodes memiliki batasan berikut:

Mode rahasia untuk Hyperdisk Balanced memiliki batasan berikut:

Batasan migrasi langsung

Confidential VM Compute Engine yang menggunakan jenis mesin N2D dan menggunakan AMD SEV sebagai teknologi Confidential Computing mendukung migrasi langsung, yang meminimalkan potensi gangguan workload dari peristiwa pemeliharaan host. Migrasi langsung terjadi di versi GKE berikut:

  • 1.27.10-gke.1218000 dan yang lebih baru
  • 1.28.6-gke.1393000 dan yang lebih baru
  • 1.29.1-gke.1621000 dan yang lebih baru

Jika node pool Anda sudah menjalankan versi yang didukung saat migrasi langsung ditambahkan, upgrade node pool secara manual ke versi yang didukung yang sama atau berbeda. Mengupgrade node akan memicu pembuatan ulang node, dan node baru akan mengaktifkan migrasi langsung.

Untuk mengetahui detail tentang jenis mesin Compute Engine yang mendukung migrasi langsung, lihat Konfigurasi yang didukung.

Jika peristiwa pemeliharaan host terjadi pada node yang tidak mendukung migrasi langsung, node akan memasuki status NotReady. Pod yang sedang berjalan akan mengalami gangguan hingga node siap lagi. Jika pemeliharaan berlangsung lebih dari lima menit, GKE dapat mencoba membuat ulang Pod di node lain.

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

Anda hanya dapat menonaktifkan Confidential GKE Node di node pool mode Standard. Jika node pool berada di cluster yang menggunakan Confidential GKE Node di tingkat cluster, Anda tidak dapat menonaktifkan fitur di tingkat node pool. Untuk menonaktifkan Confidential GKE Node, pilih salah satu opsi berikut:

gcloud

Jalankan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=CLUSTER_LOCATION \
    --no-enable-confidential-nodes

Konsol

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

    Buka cluster Kubernetes

  2. Klik nama cluster Standar Anda.

  3. Klik tab Nodes.

  4. Klik nama node pool yang ingin diubah.

  5. Di halaman Detail node pool, klik Edit. Panel Edit kumpulan node akan terbuka.

  6. Di bagian Security, hapus centang pada kotak Enable Confidential GKE Nodes.

  7. Klik Simpan.

Langkah berikutnya