워크로드 메타데이터 변수

VM을 만들 때 변수를 --metadata 옵션에 전달하여 Confidential Space 워크로드 VM 동작을 변경할 수 있습니다.

여러 변수를 전달하려면 먼저 --metadata 값에 ^~^ 프리픽스를 지정하여 구분 기호를 설정합니다. 그러면 ,가 변수 값에 사용되기 때문에 구분 기호가 ~로 설정됩니다.

예를 들면 다음과 같습니다.

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

다음 표에는 워크로드 VM에 설정할 수 있는 메타데이터 변수가 자세히 나와 있습니다.

메타데이터 키 유형 설명 및 값

tee-image-reference

상호작용:

문자열

필수 항목입니다. 워크로드 컨테이너의 위치를 가리킵니다.

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

ita-api-key

문자열

증명 서비스로 Intel Trust Authority를 사용하는 경우에만 필요합니다. 값을 Intel Trust Authority API 키로 설정합니다.

Intel 신뢰 기관 API 키를 만드는 방법은 Intel 문서를 참고하세요.

Intel Trust Authority는 Intel TDX VM 인스턴스만 지원합니다.

ita-api-key=API_KEY

ita-region

문자열

증명 서비스로 Intel Trust Authority를 사용하는 경우에만 필요합니다. Intel Trust Authority가 실행되기를 원하는 리전으로 값을 설정합니다. 유효한 지역은 다음과 같습니다.

  • 미국: https://api.trustauthority.intel.com
  • 유럽: https://api.eu.trustauthority.intel.com

Intel Trust Authority는 Intel TDX VM 인스턴스만 지원합니다.

ita-region=REGION_NAME

tee-added-capabilities

상호작용:

JSON 문자열 배열

워크로드 컨테이너에 추가 Linux 기능을 추가합니다.

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

tee-cgroup-ns

상호작용:

불리언

기본값은 false입니다. true로 설정하면 /sys/fs/cgroup에서 네임스페이스 cgroup 마운트가 사용 설정됩니다.

tee-cgroup-ns=true

tee-cmd

상호작용:

JSON 문자열 배열

워크로드 컨테이너의 Dockerfile에 지정된 CMD 명령어를 재정의합니다.

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

tee-container-log-redirect

상호작용:

열거

confidential-space-launcher 필드를 사용하여 워크로드 컨테이너의 STDOUTSTDERR을 Cloud Logging 또는 직렬 콘솔로 출력합니다.

유효한 값은 다음과 같습니다.

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

상호작용:

불리언

NVIDIA의 컨피덴셜 컴퓨팅 GPU 드라이버를 설치할지 여부입니다. NVIDIA 컨피덴셜 컴퓨팅을 지원하는 머신 유형이 필요합니다.

tee-install-gpu-driver=true

tee-monitoring-memory-enable

상호작용:

불리언

기본값은 false입니다. true로 설정하면 메모리 사용량 모니터링이 사용 설정됩니다. 컨피덴셜 VM에서 수집한 측정항목은 guest/memory/bytes_used 유형이며 Cloud Logging 또는 측정항목 탐색기에서 볼 수 있습니다.

tee-monitoring-memory-enable=true

tee-mount

상호작용:

문자열

세미콜론으로 구분된 마운트 정의 목록입니다. 마운트 정의는 type, source, destination가 필요한 쉼표로 구분된 키-값 쌍 목록으로 구성됩니다. destination는 절대 경로여야 하고 type/sourcetmpfs여야 합니다.

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