Metadatenvariablen für Arbeitslasten

Sie können das Verhalten der Confidential Space-Arbeitslast-VM ändern, indem Sie beim Erstellen der VM Variablen an die Option --metadata übergeben.

Wenn Sie mehrere Variablen übergeben möchten, legen Sie zuerst das Trennzeichen fest, indem Sie dem Wert --metadata das Präfix ^~^ voranstellen. Dadurch wird das Trennzeichen auf ~ gesetzt, da , in Variablenwerten verwendet wird.

Beispiel:

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

In der folgenden Tabelle sind die Metadatenvariablen aufgeführt, die Sie für Ihre Arbeitslast-VM festlegen können.

Metadatenschlüssel Typ Beschreibung und Werte

tee-image-reference

Interagiert mit:

String

Pflichtangabe. Dies verweist auf den Speicherort des Arbeitslastcontainers.

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

ita-api-key

String

Nur erforderlich, wenn Sie Intel Trust Authority als Attestierungsdienst verwenden. Legen Sie den Wert auf Ihren Intel Trust Authority API-Schlüssel fest.

Informationen zum Erstellen eines Intel Trust Authority-API-Schlüssels finden Sie in der Dokumentation von Intel.

Intel Trust Authority unterstützt Intel TDX-VM-Instanzen, die optional eine NVIDIA H100-GPU haben. Wenn die GPU vorhanden ist, wird auch ihr Nachweis geprüft.

Beispiel
ita-api-key=API_KEY

ita-region

String

Nur erforderlich, wenn Sie Intel Trust Authority als Attestierungsdienst verwenden. Legen Sie den Wert auf die Region fest, in der Intel Trust Authority ausgeführt werden soll. Gültige Regionen sind:

  • US: https://api.trustauthority.intel.com
  • Europa: https://api.eu.trustauthority.intel.com

Intel Trust Authority unterstützt Intel TDX-VM-Instanzen, die optional eine NVIDIA H100-GPU haben. Wenn die GPU vorhanden ist, wird auch ihr Nachweis geprüft.

Beispiel
ita-region=REGION_NAME

tee-added-capabilities

Interagiert mit:

JSON-String-Array

Fügt dem Arbeitslastcontainer zusätzliche Linux-Funktionen hinzu.

Beispiel
tee-added-capabilities="[\"CAP_SYS_ADMIN\", \"CAP_SYS_CHROOT\"]"

tee-cgroup-ns

Interagiert mit:

Boolesch

Die Standardeinstellung ist false. Wenn dieser Wert auf true gesetzt ist, wird eine Namespace- cgroup-Bereitstellung unter /sys/fs/cgroup aktiviert.

Beispiel
tee-cgroup-ns=true

tee-cmd

Interagiert mit:

JSON-String-Array

Überschreibt die CMD-Anweisungen, die in der Dockerfile des Arbeitslastcontainers angegeben sind.

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

tee-container-log-redirect

Interagiert mit:

Aufzählung

Gibt STDOUT und STDERR aus dem Arbeitslastcontainer in Cloud Logging oder der seriellen Konsole aus, unter dem Feld confidential-space-launcher.

Gültige Werte sind:

  • false: (Standardeinstellung) Es erfolgt kein Logging.
  • true: Ausgaben an die serielle Konsole und Cloud Logging.
  • cloud_logging: Ausgabe nur in Cloud Logging.
  • serial: Ausgabe nur an die serielle Konsole.

Ein hohes Logvolumen in der seriellen Konsole kann die Arbeitslastleistung beeinträchtigen.

Beispiel
tee-container-log-redirect=true

tee-dev-shm-size-kb

Ganzzahl

Legt die Größe des gemeinsam genutzten Speicher-Mounts /dev/shm in kB fest.

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

tee-env-ENVIRONMENT_VARIABLE_NAME

Interagiert mit:

String

Legt Umgebungsvariablen im Arbeitslastcontainer fest. Der Ersteller der Arbeitslast muss die Namen der Umgebungsvariablen auch der Startrichtlinie allow_env_override hinzufügen, da sie sonst nicht festgelegt werden.

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

tee-impersonate-service-accounts

Interagiert mit:

String

Eine Liste der Dienstkonten, deren Identität der Arbeitslastoperator übernehmen kann. Der Arbeitslastoperator muss die Identität der Dienstkonten übernehmen dürfen.

Es können mehrere Dienstkonten durch Kommas getrennt aufgeführt werden.

Beispiel
tee-impersonate-service-accounts=SERVICE_ACCOUNT_NAME_1@WORKLOAD_OPERATOR_PROJECT_ID.,SERVICE_ACCOUNT_NAME_2@WORKLOAD_OPERATOR_PROJECT_ID.

tee-install-gpu-driver

Interagiert mit:

Boolesch

Gibt an, ob der Confidential Computing-GPU-Treiber von NVIDIA installiert werden soll. Erfordert einen Maschinentyp, der NVIDIA Confidential Computing unterstützt.

Beispiel
tee-install-gpu-driver=true

tee-monitoring-memory-enable

Interagiert mit:

Boolesch

Die Standardeinstellung ist false. Wenn auf true gesetzt, wird das Monitoring der Speichernutzung aktiviert. Die von der Confidential VM erfassten Messwerte sind vom Typ guest/memory/bytes_used und können in Cloud Logging oder im Metrics Explorer aufgerufen werden.

Beispiel
tee-monitoring-memory-enable=true

tee-mount

Interagiert mit:

String

Eine Liste von durch Semikolons getrennten Bereitstellungsdefinitionen. Eine Bereitstellungsdefinition besteht aus einer durch Kommas getrennten Liste von Schlüssel/Wert-Paaren, die type, source und destination erfordern. destination muss ein absoluter Pfad sein und type/source muss tmpfs sein.

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

tee-nonroot-container

Interagiert mit:

Boolesch

Die Standardeinstellung ist false. Wenn der Wert auf true festgelegt ist, wird der Container in einem isolierten Nutzer-Namespace als Nicht-Root-Nutzer auf der Host-VM ausgeführt. Diese Variable muss auf true festgelegt werden, wenn der Arbeitslastautor tee.launch_policy.nonroot_container auf nonrootonly festlegt.

Beispiel
tee-nonroot-container=true

tee-restart-policy

Interagiert mit:

Aufzählung

Die Neustart-Richtlinie des Container-Launchers, wenn die Arbeitslast beendet wird.

Gültige Werte sind:

  • Never (Standard)
  • Always
  • OnFailure

Diese Variable wird nur vom Confidential Space-Produktions-Image unterstützt.

Beispiel
tee-restart-policy=OnFailure

tee-signed-image-repos

Interagiert mit:

String

Eine Liste von kommagetrennten Container-Repositories, in denen die von Sigstore Cosign generierten Signaturen gespeichert werden.

Beispiel
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