Com o vSphere with Tanzu, você pode executar o vSphere Pods confidencial em um Supervisor. Um vSphere Pod confidencial usa uma tecnologia de hardware que mantém a memória do SO guest criptografada, protegendo-a contra o acesso do hipervisor.
Você pode criar um
vSphere Pods confidencial adicionando o estado criptografado da virtualização criptografada segura (SEV-ES) como um aprimoramento de segurança extra. O SEV-ES evita que os registros da CPU vazem informações nos registros para componentes como o hipervisor. O SEV-ES também pode detectar modificações maliciosas em um estado de registro da CPU. Para obter mais informações sobre como usar a tecnologia SEV-ES no ambiente vSphere, consulte
Protegendo máquinas virtuais com o estado criptografado da virtualização criptografada da AMD na documentação do
vSphere Segurança.
Pré-requisitos
Para habilitar o SEV-ES em um host
ESXi, um administrador do vSphere deve seguir estas diretrizes:
- Use os hosts que oferecem suporte à funcionalidade SEV-ES.
- Use a versão ESXi do 7.0 Update 2 ou posterior.
- Ative o SEV-ES na configuração do BIOS de um sistema ESXi. Consulte a documentação do seu sistema para obter mais informações sobre como acessar a configuração do BIOS.
- Ao ativar o SEV-ES no BIOS, insira um valor para a configuração Minimum SEV non-ES ASID igual ao número de VMs SEV-ES e confidencial vSphere Pods no host mais um. Por exemplo, se você planeja executar 100 VMs SEV-ES e 128 vSphere Pods, digite pelo menos 229. Você pode inserir uma configuração de até 500.
Procedimento
- Crie um arquivo YAML que contenha os seguintes parâmetros.
- Nas anotações, ative o recurso confidencial vSphere Pods.
...
annotations:
vmware/confidential-pod: enabled
...
- Especifique recursos de memória para contêineres.
Certifique-se de definir solicitações de memória e limites de memória com o mesmo valor, como neste exemplo.
resources:
requests:
memory: "512Mi"
limits:
memory: "512Mi"
Use o seguinte arquivo YAML como exemplo:
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"
- Faça login no Supervisor.
kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
- Alterne para o namespace no qual você deseja implantar o aplicativo.
kubectl config use-context <namespace>
- Implante um vSphere Pod confidencial do arquivo YAML.
kubectl apply -f <yaml file name>.yaml
Observação: Quando o
vSphere Pod é implantado, o DRS o coloca no nó
ESXi que oferece suporte ao SEV-ES. Se nenhum nó desse tipo estiver disponível, o
vSphere Pod será marcado como com falha.
O vSphere Pod confidencial que é iniciado fornece suporte à criptografia de memória de hardware para todas as cargas de trabalho em execução nesse pod.
- Execute o seguinte comando para verificar se o vSphere Pod confidencial foi criado.
kubectl describe pod/<yaml name>
O que Fazer Depois
Um administrador do vSphere pode visualizar o
vSphere Pod confidencial. No
vSphere Client, ele aparece com a tag
Encryption Mode: Confidential Compute.