Confidential GKE Node 워크로드에서 vTPM 실행

이 페이지에서는 Confidential GKE Node에서 실행되는 Google Kubernetes Engine (GKE) Standard 워크로드와 함께 가상 신뢰 플랫폼 모듈 (vTPM)을 사용하는 방법을 보여줍니다. vTPM은 원격 증명, 보안 비밀 실링, 난수 생성과 같은 다른 보안 기능과 함께 플랫폼 무결성을 제공합니다. 이 페이지에서는 기기 플러그인을 설치하고 GKE 애플리케이션에 vTPM을 표시하는 방법을 알아봅니다.

이 페이지는 GKE 애플리케이션에서 vTPM의 보안 기능에 원격으로 액세스하려는 보안 엔지니어를 대상으로 합니다.

이 페이지를 읽기 전에 다음 기능을 숙지해야 합니다.

시작하기 전에

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

  • Google Kubernetes Engine API를 사용 설정합니다.
  • Google Kubernetes Engine API 사용 설정
  • 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우 gcloud components update 명령어를 실행하여 최신 버전을 가져옵니다. 이전 gcloud CLI 버전에서는 이 문서의 명령어를 실행하지 못할 수 있습니다.

제한사항

AMD SEV를 컨피덴셜 컴퓨팅 기술로 사용하는 Confidential GKE Node에서만 GKE 애플리케이션에 vTPM을 표시할 수 있습니다. Intel TDX 및 AMD SEV-SNP는 지원되지 않습니다.

가용성

다음 조건에서 Confidential GKE Node를 사용할 수 있습니다.

Confidential GKE Node 클러스터 만들기

gcloud CLI나 Google Cloud 콘솔을 사용하여 Confidential GKE Node가 사용 설정된 새 클러스터를 만들 수 있습니다. 클러스터 수준에서 Confidential GKE Node를 사용 설정하면 클러스터의 모든 노드가 컨피덴셜 VM이 됩니다.

gcloud

AMD SEV를 컨피덴셜 컴퓨팅 기술로 사용하는 새 클러스터를 만듭니다.

gcloud container clusters create CLUSTER_NAME \
    --machine-type=MACHINE_TYPE \
    --confidential-node-type=SEV

다음을 바꿉니다.

  • CLUSTER_NAME: 새 클러스터의 이름
  • MACHINE_TYPE: 클러스터의 기본 노드 풀에 대한 머신 유형. N2D 또는 C2D 머신 유형이어야 합니다.

콘솔

  1. Google Cloud 콘솔에서 Kubernetes 클러스터 만들기 페이지로 이동합니다.

    Kubernetes 클러스터 만들기로 이동

  2. 탐색 메뉴의 클러스터에서 보안을 클릭합니다.
  3. Confidential GKE Node 사용 설정을 선택합니다.
  4. 확인 대화상자에서 변경을 클릭합니다.
  5. 유형 메뉴에서 AMD SEV를 선택합니다.
  6. 클러스터의 다른 섹션을 구성하려면 리전 클러스터 만들기의 안내를 따르세요.
  7. 만들기를 클릭합니다.

Confidential GKE Node로 클러스터를 만든 후 이 클러스터에 생성되는 모든 노드 풀은 컨피덴셜 노드만 사용할 수 있습니다. Confidential GKE Node가 사용 설정된 클러스터에서는 일반 노드 풀을 만들 수 없습니다. 또한 클러스터 수준에서 Confidential GKE Node를 사용 설정하면 개별 노드 풀에서 Confidential GKE Node를 중지할 수 없습니다.

Confidential GKE Node 워크로드에서 vTPM 실행

Confidential GKE Node 워크로드에서 vTPM을 실행하기 위해 Google에서는 Confidential GKE Node 클러스터에 적용할 DaemonSet을 제공합니다. 다음 명령어를 실행하여 DaemonSet를 배포합니다.

kubectl create -f https://raw.githubusercontent.com/google/cc-device-plugin/main/manifests/cc-device-plugin.yaml

vTPM을 볼 수 있도록 포드 구성

리소스 제한을 사용하여 vTPM을 볼 수 있도록 포드를 구성합니다. 다음 키-값 쌍을 사용해서 포드 사양에서 리소스 제한을 1로 지정합니다.

  • 키: google.com/cc
  • 값: 1

vTPM을 사용하는 포드 사양의 예:

apiVersion: v1
kind: Pod
metadata:
  name: my-vtpm-pod
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 8080
      name: http
    resources:
      limits:
        google.com/cc: 1

다음 단계