vSphere with Tanzu를 사용하면 감독자 클러스터에서 기밀 vSphere 포드를 실행할 수 있습니다. 기밀 vSphere 포드는 게스트 운영 체제 메모리를 암호화된 상태로 유지하여 하이퍼바이저의 액세스로부터 보호하는 하드웨어 기술을 사용합니다.
vSphere 7.0 업데이트 2부터는 추가적인 보안 향상으로 SEV-ES(Secure Encrypted Virtualization-Encrypted State)를 추가하여 기밀
vSphere 포드를 생성할 수 있습니다. SEV-ES는 CPU 레지스터가 하이퍼바이저와 같은 구성 요소로 레지스터의 정보를 누출하지 못하도록 합니다. SEV-ES는 또한 CPU 레지스터 상태에 대한 악의적인 수정 사항을 감지할 수 있습니다. vSphere 환경에서 SEV-ES 기술을 사용하는 방법에 대한 자세한 내용은
AMD Secure Encrypted Virtualization-Encrypted State를 사용하여 가상 시스템 보호를 참조하십시오.
사전 요구 사항
ESXi 호스트에서 SEV-ES를 사용하도록 설정하려면 vSphere 관리자가 다음 지침을 따라야 합니다.
- SEV-ES 기능을 지원하는 호스트를 사용합니다. 현재 SEV-ES는 AMD EPYC 7xx2 CPU(코드명 "Rome" ) 이상 CPU만 지원합니다.
- ESXi 버전 7.0 업데이트 2 이상을 사용합니다.
- ESXi 시스템의 BIOS 구성에서 SEV-ES를 사용하도록 설정합니다. BIOS 구성 액세스에 대 한 자세한 내용은 시스템 설명서를 참조하십시오.
- BIOS에서 SEV-ES를 사용하도록 설정할 때 Minimum SEV non-ES ASID 설정 값을 호스트의 SEV-ES VM 및 기밀 vSphere 포드 수에 1을 더한 값과 동일하게 입력합니다. 예를 들어 SEV-ES VM 100개와 vSphere 포드 128개를 실행하려면 229 이상을 입력합니다. 이 설정은 최대 500까지 입력할 수 있습니다.
프로시저
- 다음 매개 변수를 포함하는 YAML 파일을 생성합니다.
- 주석에서 기밀 vSphere 포드 기능을 사용하도록 설정합니다.
...
annotations:
vmware/confidential-pod: enabled
...
- 컨테이너에 대한 메모리 리소스를 지정합니다.
이 예제와 같이 메모리 요청과 메모리 제한을 동일한 값으로 설정해야 합니다.
resources:
requests:
memory: "512Mi"
limits:
memory: "512Mi"
다음 YAML 파일을 예로 사용할 수 있습니다.
apiVersion: v1
kind: Pod
metadata:
name: photon-pod
namespace: my-podvm-ns
annotations:
vmware/confidential-pod: enabled
spec: # specification of the pod's contents
restartPolicy: Never
containers:
- name: photon
image: wcp-docker-ci.artifactory.eng.vmware.com/vmware/photon:1.0
command: ["/bin/sh"]
args: ["-c", "while true; do echo hello, world!; sleep 1; done"]
resources:
requests:
memory: "512Mi"
limits:
memory: "512Mi"
- 감독자 클러스터에 로그인합니다.
kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
- 애플리케이션을 배포하려는 네임스페이스로 전환합니다.
kubectl config use-context <namespace>
- YAML 파일에서 기밀 vSphere 포드을 배포합니다.
kubectl apply -f <yaml file name>.yaml
참고:
vSphere 포드이 배포되면 DRS는 SEV-ES를 지원하는
ESXi 노드에 배치합니다. 해당 노드를 사용할 수 없으면
vSphere 포드 노드가 실패로 표시됩니다.
시작된 기밀 vSphere 포드은 이 포드에서 실행 중인 모든 워크로드에 대한 하드웨어 메모리 암호화 지원을 제공합니다.
- 다음 명령을 실행하여 기밀 vSphere 포드이 생성되었는지 확인합니다.
kubectl describe pod/<yaml name>
다음에 수행할 작업
vSphere 관리자는 기밀
vSphere 포드을 볼 수 있습니다.
vSphere Client에는
암호화 모드: 기밀 계산 태그와 함께 표시됩니다.