Men-deploy workload


Operator beban kerja dapat meneruskan opsi ke VM beban kerja Confidential Space untuk menentukan perilakunya sebelum dijalankan. Meskipun beberapa flag memiliki nilai wajib yang tidak berubah, Anda masih perlu membuat pilihan berikut:

Berikut adalah contoh yang membuat Confidential VM di zona us-west1-b berdasarkan image Confidential Space produksi terbaru, dan menjalankan penampung Docker yang disebut WORKLOAD_CONTAINER_NAME:

gcloud compute instances create workload-vm-name \
    --confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY \
    --machine-type=MACHINE_TYPE_NAME \
    --maintenance-policy=MAINTENANCE_POLICY \
    --shielded-secure-boot \
    --image-project=confidential-space-images \
    --image-family=IMAGE_FAMILY \
    --metadata="^~^tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest" \
    --service-account=WORKLOAD_SERVICE_ACCOUNT_NAME@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com \
    --scopes=cloud-platform \
    --zone=us-west1-b

Opsi yang digunakan dalam contoh ini dijelaskan dalam tabel berikut.

Flag Deskripsi
--confidential-compute-type

Wajib. Memberi tahu Compute Engine teknologi Confidential Computing yang akan digunakan saat membuat instance Confidential VM.

Ganti CONFIDENTIAL_COMPUTING_TECHNOLOGY dengan salah satu nilai berikut:

Teknologi Confidential Computing harus cocok dengan kelompok image yang Anda pilih.

--machine-type Opsional. Menentukan nama jenis mesin Confidential VM. Lihat Konfigurasi yang didukung untuk jenis mesin yang mendukung AMD SEV dan Intel TDX (Pratinjau).
--maintenance-policy Untuk jenis mesin N2D yang menggunakan SEV, tetapkan ke MIGRATE untuk dukungan migrasi langsung. Untuk semua jenis mesin lainnya, tetapkan nilai ini ke TERMINATE, karena tidak mendukung migrasi langsung.
--shielded-secure-boot Wajib. Memberi tahu Compute Engine untuk menggunakan Secure Boot untuk instance.
--image-project=confidential-space-images Wajib. Memberi tahu Compute Engine untuk mencari di project confidential-space-images untuk image Confidential Space.

--image-family

Wajib. Memberi tahu Compute Engine untuk menggunakan image Confidential Space terbaru, yang merupakan bagian dari project confidential-space-images.

Untuk menggunakan image produksi dengan beban kerja akhir yang memproses data rahasia, ganti IMAGE_FAMILY dengan salah satu nilai berikut:

  • confidential-space — Untuk AMD SEV
  • confidential-space-preview-tdx — Untuk Intel TDX (Pratinjau)

Untuk menggunakan image debug untuk pemantauan dan proses debug, ganti IMAGE_FAMILY dengan salah satu nilai berikut:

  • confidential-space-debug — Untuk AMD SEV
  • confidential-space-debug-preview-tdx — Untuk Intel TDX (Pratinjau)

Kelompok image yang Anda gunakan harus cocok dengan teknologi Confidential Computing yang Anda pilih.

--metadata

Wajib. Mengubah perilaku VM Ruang Rahasia dengan meneruskan variabel. Kunci dan nilai tee-image-reference diperlukan dan memberi tahu instance VM untuk menjalankan penampung Docker yang ditentukan di atas image Confidential Space yang ditentukan.

Untuk mengetahui pasangan nilai kunci yang tersedia, lihat Variabel metadata.

--service-account Opsional. Akun layanan yang terpasang ke instance VM yang menjalankan beban kerja, dan meniru identitas akun layanan yang terpasang ke kumpulan identitas beban kerja di project lain. Jika tidak ditentukan, akun layanan Compute Engine default akan digunakan.
--scopes=cloud-platform Wajib. Menetapkan cakupan akses. Cakupan cloud-platform adalah cakupan OAuth untuk sebagian besar layanan , dan memungkinkan VM berkomunikasi dengan verifier pengesahan.
--zone

Wajib. Zona tempat instance VM berjalan. Ruang Rahasia memerlukan layanan berikut, yang tersedia di lokasi tertentu:

Akun layanan terlampir

Akun layanan harus dilampirkan ke Confidential VM beban kerja untuk menjalankan beban kerja. Akun layanan harus disiapkan dengan cara berikut:

  • Dengan peran berikut:

  • Dengan akses baca ke tempat kolaborator data menyimpan data rahasia mereka, misalnya, bucket Cloud Storage atau tabel BigQuery.

  • Dengan akses tulis ke tempat workload harus menghasilkan output data, misalnya, bucket Cloud Storage. Kolaborator data harus memiliki akses baca ke lokasi ini.

Selain itu, kolaborator data dan operator beban kerja perlu menyiapkan hal-hal berikut:

  • Kolaborator data harus menambahkan akun layanan ke penyedia workload identity pool mereka sebagai kondisi atribut:

    'WORKLOAD_SERVICE_ACCOUNT_NAME@DATA_COLLABORATOR_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts
    
  • Operator beban kerja memerlukan peran roles/iam.serviceAccountUser untuk meniru akun layanan. Hal ini memungkinkan mereka melampirkan VM workload sehingga dapat menjalankan workload.

Variabel metadata

Anda dapat mengubah perilaku VM workload Confidential Space dengan meneruskan variabel ke opsi --metadata saat membuat VM.

Untuk meneruskan beberapa variabel, tetapkan pembatas terlebih dahulu dengan menambahkan awalan nilai --metadata dengan ^~^. Tindakan ini akan menetapkan pemisah ke ~, karena , digunakan dalam nilai variabel.

Contoh:

metadata="^~^tee-restart-policy=Always~tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest"

Tabel berikut menjelaskan variabel metadata yang dapat Anda tetapkan untuk VM beban kerja.

Kunci metadata Jenis Deskripsi dan nilai

tee-image-reference

Berinteraksi dengan:

String

Wajib. Ini mengarah ke lokasi penampung beban kerja.

Contoh
tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest

tee-cmd

Berinteraksi dengan:

Array string JSON

Mengganti petunjuk CMD yang ditentukan dalam Dockerfile penampung beban kerja.

Contoh
tee-cmd="[\"params1\", \"params2\"]"

tee-container-log-redirect

Berinteraksi dengan:

String yang ditentukan

Output STDOUT dan STDERR dari penampung beban kerja ke Cloud Logging atau konsol serial, di bagian kolom confidential-space-launcher.

Nilai yang valid adalah:

  • false: (default) tidak ada logging yang terjadi.
  • true: output ke konsol serial dan Cloud Logging.
  • cloud_logging: output hanya ke Cloud Logging.
  • serial: output hanya ke konsol serial.

Volume log yang tinggi di konsol serial dapat memengaruhi performa beban kerja.

Contoh
tee-container-log-redirect=true

tee-dev-shm-size-kb

Bilangan bulat

Menetapkan ukuran dalam kB untuk pemasangan memori bersama /dev/shm.

Contoh
tee-dev-shm-size-kb=65536

tee-env-ENVIRONMENT_VARIABLE_NAME

Berinteraksi dengan:

String

Menetapkan variabel lingkungan dalam penampung beban kerja. Penulis beban kerja juga harus menambahkan nama variabel lingkungan ke kebijakan peluncuran allow_env_override , atau nama tersebut tidak akan ditetapkan.

Contoh
tee-env-example-env-1='value-1'~tee-env-example-env-2='value-2'

tee-impersonate-service-accounts

Berinteraksi dengan:

String

Daftar akun layanan yang dapat ditiru identitasnya oleh operator workload. Operator beban kerja harus diizinkan untuk meniru identitas akun layanan.

Beberapa akun layanan dapat dicantumkan, yang dipisahkan dengan koma.

Contoh
tee-impersonate-service-accounts=SERVICE_ACCOUNT_NAME_1@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com,SERVICE_ACCOUNT_NAME_2@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com

tee-monitoring-memory-enable

Berinteraksi dengan:

Boolean

Nilai defaultnya adalah false. Jika ditetapkan ke true, pemantauan penggunaan memori akan diaktifkan. Metrik yang dikumpulkan oleh VM Rahasia adalah dari jenis guest/memory/bytes_used , dan dapat dilihat di Cloud Logging atau Metrics Explorer.

Contoh
tee-monitoring-memory-enable=true

tee-mount

Berinteraksi dengan:

String

Daftar definisi pemasangan yang dipisahkan titik koma. Definisi mount terdiri dari daftar pasangan nilai kunci yang dipisahkan koma, yang memerlukan type, source, dan destination. destination harus berupa jalur absolut dan type/source harus berupa tmpfs.

Contoh
type=tmpfs,source=tmpfs,destination=/tmp/tmpfs,size=12345;type=tmpfs,source=tmpfs,destination=/run/workload

tee-restart-policy

Berinteraksi dengan:

String yang ditentukan

Kebijakan mulai ulang peluncur penampung saat beban kerja berhenti

Nilai yang valid adalah:

  • Never (default)
  • Always
  • OnFailure

Variabel ini hanya didukung oleh image Confidential Space produksi.

Contoh
tee-restart-policy=OnFailure

tee-signed-image-repos

Berinteraksi dengan:

String

Daftar repositori penampung yang dipisahkan koma yang menyimpan tanda tangan yang dihasilkan oleh Sigstore Cosign.

Contoh
tee-signed-image-repos=us-docker.pkg.dev/projectA/repo/example,us-docker.pkg.dev/projectB/repo/example,us-docker.pkg.dev/projectC/repo/example

Penskalaan

Untuk penskalaan dan ketersediaan tinggi workload Confidential Space produksi, lihat Grup Instance Terkelola.