Variáveis de metadados de carga de trabalho

É possível mudar o comportamento da VM de carga de trabalho do Confidential Space transmitindo variáveis para a opção --metadata ao criar a VM.

Para transmitir várias variáveis, primeiro defina o delimitador prefixando o valor --metadata com ^~^. Isso define o delimitador como ~, já que , é usado em valores variáveis.

Exemplo:

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

A tabela a seguir detalha as variáveis de metadados que podem ser definidas para a VM de carga de trabalho.

Chave de metadados Tipo Descrição e valores

tee-image-reference

Interage com :

String

Obrigatório. Aponta para o local do contêiner da carga de trabalho.

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

tee-added-capabilities

Interage com :

Matriz de strings JSON

Adiciona outros recursos do Linux ao contêiner da carga de trabalho.

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

tee-cgroup-ns

Interage com :

  • Autor da carga de trabalho: a allow_cgroups política de inicialização.
Booleano

O valor padrão é false. Quando definido como true, ativa uma montagem de cgroup com namespace em /sys/fs/cgroup.

Exemplo
tee-cgroup-ns=true

tee-cmd

Interage com :

Matriz de strings JSON

Substitui as instruções de CMD especificadas no contêiner da carga de trabalho's Dockerfile.

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

tee-container-log-redirect

Interage com :

  • Autor da carga de trabalho: a log_redirect política de inicialização.
Enumeração

Saída STDOUT e STDERR do contêiner da carga de trabalho para o Cloud Logging ou console serial, no campo confidential-space-launcher.

Os valores válidos são:

  • false: (padrão) nenhuma geração de registros ocorre.
  • true: saída para o console serial e o Cloud Logging.
  • cloud_logging: saída apenas para o Cloud Logging.
  • serial: saída apenas para o console serial.

Um volume alto de registros no console serial pode afetar o desempenho da carga de trabalho.

Exemplo
tee-container-log-redirect=true

tee-dev-shm-size-kb

Número inteiro

Define o tamanho em kB da memória compartilhada /dev/shm montagem.

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

tee-env-ENVIRONMENT_VARIABLE_NAME

Interage com :

String

Define variáveis de ambiente no contêiner da carga de trabalho. O autor da carga de trabalho também precisa adicionar os nomes das variável de ambiente à política de inicialização allow_env_override. Caso contrário, elas não serão definidas.

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

tee-impersonate-service-accounts

Interage com :

String

Uma lista de contas de serviço que podem ser representadas pelo operador de carga de trabalho. O operador de carga de trabalho precisa ter permissão para representar as contas de serviço.

É possível listar várias contas de serviço separadas por vírgulas.

Exemplo
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-install-gpu-driver

Interage com :

Booleano

Se o driver de GPU da Computação confidencial da NVIDIA será instalado. Requer um tipo de máquina que ofereça suporte à Computação confidencial da NVIDIA.

Exemplo
tee-install-gpu-driver=true

tee-monitoring-memory-enable

Interage com :

Booleano

O valor padrão é false. Quando definido como true, ativa o monitoramento do uso da memória. As métricas coletadas pela VM confidencial são do tipo guest/memory/bytes_used e podem ser visualizadas em Cloud Logging ou Metrics Explorer.

Exemplo
tee-monitoring-memory-enable=true

tee-mount

Interage com :

String

Uma lista de definições de montagem separadas por ponto e vírgula. Uma definição de montagem consiste em uma lista separada por vírgulas de pares de chave-valor, que exigem type, source, e destination. destination precisa ser um caminho absoluto e type/source precisa ser tmpfs.

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

tee-restart-policy

Interage com :

Enumeração

A política de reinicialização do inicializador do contêiner quando a carga de trabalho é interrompida.

Os valores válidos são:

  • Never (padrão)
  • Always
  • OnFailure

Essa variável só é compatível com a imagem de produção do Confidential Space imagem.

Exemplo
tee-restart-policy=OnFailure

tee-signed-image-repos

Interage com :

String

Uma lista de repositórios de contêineres separados por vírgulas que armazenam as assinaturas geradas pelo Sigstore Cosign.

Exemplo
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