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. Ele 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-cmd

Interage com:

Matriz de strings JSON

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

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

tee-container-log-redirect

Interage com:

  • Autor da carga de trabalho: a log_redirect política de lançamento.
String definida

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

Os valores válidos são:

  • false: (padrão) não ocorre nenhum registro.
  • true: saídas para o console serial e o Cloud Logging.
  • cloud_logging: saídas apenas para o Cloud Logging.
  • serial: saídas apenas para o console serial.

Um volume de registro alto no console em série 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 do ponto de montagem de memória compartilhada /dev/shm.

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 lançamento 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-monitoring-memory-enable

Interage com:

Booleano

O valor padrão é false. Quando definido como true, ativa o monitoramento do uso de memória. As métricas coletadas pela VM confidencial são do tipo guest/memory/bytes_used e podem ser visualizadas no Cloud Logging ou no 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 de pares de chave-valor separados por vírgulas, que exige 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:

String definida

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.

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 por 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