工作负载元数据变量


您可以在创建虚拟机时将变量传递到 --metadata 选项,以更改 Confidential Space 工作负载虚拟机行为。

如需传入多个变量,请首先在 --metadata 值前面添加 ^~^ 来设置分隔符。这会将分隔符设置为 ~,因为变量值中使用了 ,

例如:

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

下表详细介绍了您可以为工作负载虚拟机设置的元数据变量。

元数据键 类型 说明和值

tee-image-reference

与以下各项互动

字符串

必需。指向工作负载容器所在的位置。

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

tee-cmd

与以下各项互动

JSON 字符串数组

替换工作负载容器的 Dockerfile 中指定的 CMD 指令。

示例
tee-cmd="[\"params1\", \"params2\"]"

tee-container-log-redirect

与以下各项互动

已定义的字符串

STDOUTSTDERR 从工作负载容器输出到 Cloud Logging 或串行控制台中的 confidential-space-launcher 字段下。

有效值包括:

  • false:(默认)不会进行日志记录。
  • true:输出到串行控制台和 Cloud Logging。
  • cloud_logging:仅输出到 Cloud Logging。
  • serial:仅输出到串行控制台。

串行控制台中的日志量过大可能会影响工作负载性能。

示例
tee-container-log-redirect=true

tee-dev-shm-size-kb

整数

设置 /dev/shm 共享内存挂载的大小(以 KB 为单位)。

示例
tee-dev-shm-size-kb=65536

tee-env-ENVIRONMENT_VARIABLE_NAME

与以下各项互动

字符串

在工作负载容器中设置环境变量。 工作负载作者还必须将环境变量名称添加到 allow_env_override 发布政策中,否则系统不会设置这些变量。

示例
tee-env-example-env-1='value-1'~tee-env-example-env-2='value-2'

tee-impersonate-service-accounts

与以下各项互动

字符串

工作负载操作员可以模拟的服务账号列表。工作负载操作员必须能够模拟服务账号

可以列出多个服务账号(以英文逗号分隔)。

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

与以下各项互动

布尔值

默认为 false。 设置为 true 时,会启用内存用量监控。机密虚拟机收集的指标属于 guest/memory/bytes_used 类型,可以在 Cloud LoggingMetrics Explorer 中查看。

示例
tee-monitoring-memory-enable=true

tee-mount

与以下各项互动

字符串

以英文分号分隔的挂载定义列表。挂载定义由键值对的逗号分隔列表组成,需要 typesourcedestinationdestination 必须是绝对路径,type/source 必须为 tmpfs

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

tee-restart-policy

与以下各项互动

已定义的字符串

工作负载停止时容器启动器的重启政策

有效值包括:

  • Never(默认)
  • Always
  • OnFailure

此变量仅受生产 Confidential Space 映像支持。

示例
tee-restart-policy=OnFailure

tee-signed-image-repos

与以下各项互动

字符串

以英文逗号分隔的容器代码库列表,用于存储由 Sigstore Cosign 生成的签名。

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