이 페이지에서는 Confidential Google Kubernetes Engine(GKE) Standard 리전 클러스터의 워크로드에서 가상 신뢰 플랫폼 모듈(vTPM)을 사용하는 방법을 보여줍니다. vTPM에 대한 자세한 내용은 보안 GKE 노드 사용을 참조하세요.
개요
Confidential GKE Node 워크로드에서 vTPM을 사용하면 클러스터를 만들어 해당 워크로드에 vTPM을 노출할 수 있습니다. vTPM은 원격 증명, 보안 비밀 실링, 난수 생성과 같은 다른 보안 기능과 함께 플랫폼 무결성을 제공합니다.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치한 경우
gcloud components update
를 실행하여 최신 버전을 가져옵니다.
요구사항
Confidential GKE Node 워크로드의 vTPM을 사용하려면 GKE 버전 1.26 이상이 필요합니다.
사용 가능 여부
다음과 같은 조건에서 Confidential GKE Node를 사용할 수 있습니다.
containerd를 포함한 Container-Optimized OS를 사용하는 노드 이미지(
cos_containerd
)
Confidential GKE Node 클러스터 만들기
gcloud CLI나 Google Cloud 콘솔을 사용하여 Confidential GKE Node가 사용 설정된 새 클러스터를 만들 수 있습니다. 클러스터 수준에서 Confidential GKE Node를 사용 설정하면 클러스터의 모든 노드가 컨피덴셜 VM이 됩니다.
gcloud
새 클러스터를 만들 때 다음 명령어에서 --enable-confidential-nodes
옵션을 지정합니다.
gcloud container clusters create CLUSTER_NAME \
--machine-type=MACHINE_TYPE \
--enable-confidential-nodes
다음을 바꿉니다.
- CLUSTER_NAME: 새 클러스터의 이름
- MACHINE_TYPE: 클러스터의 기본 노드 풀에 대한 머신 유형. N2D 또는 C2D 머신 유형이어야 합니다.
Console
Google Cloud 콘솔에서 Google Kubernetes Engine 페이지로 이동합니다.
add_box만들기를 클릭합니다.
표준 섹션에서 구성을 클릭합니다.
탐색 메뉴의 클러스터에서 보안을 클릭합니다.
Confidential GKE Node 사용 설정 체크박스를 선택합니다.
클러스터의 다른 섹션을 구성하려면 리전 클러스터 만들기의 안내를 따르세요.
만들기를 클릭합니다.
Confidential GKE Node로 클러스터를 만든 후 이 클러스터에 생성되는 모든 노드 풀은 컨피덴셜 노드만 사용할 수 있습니다. Confidential GKE Node가 사용 설정된 클러스터에서는 일반 노드 풀을 만들 수 없습니다. 또한 클러스터 수준에서 Confidential GKE Node를 사용 설정하면 개별 노드 풀에서 Confidential GKE Node를 중지할 수 없습니다.
Confidential GKE Node 워크로드에서 vTPM 실행
Google에서는 Confidential GKE Node 워크로드에서 vTPM을 실행할 수 있도록 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
다음 단계
- 가상 신뢰 플랫폼 모듈(vTPM)에 대해 자세히 알아보세요.