Con vSphere IaaS control plane, è possibile eseguire Pod vSphere riservati in un Supervisore. Un Pod vSphere riservato utilizza una tecnologia hardware che consente di mantenere crittografata la memoria del sistema operativo guest proteggendola dall'accesso dall'hypervisor.
È possibile creare
Pod vSphere riservati aggiungendo SEV-ES (Secure Encrypted Virtualization-Encrypted State) come miglioramento della sicurezza. SEV-ES impedisce ai registri della CPU di perdere le informazioni nei registri in componenti quali l'hypervisor. SEV-ES può anche rilevare modifiche dannose a uno stato di registro della CPU. Per ulteriori informazioni sull'utilizzo della tecnologia SEV-ES nell'ambiente vSphere, vedere
Protezione delle macchine virtuali con AMD Secure Encrypted Virtualization-Encrypted State nella documentazione
Sicurezza di vSphere.
Prerequisiti
Per abilitare SEV-ES in un host
ESXi, un amministratore di vSphere deve attenersi alle seguenti linee guida:
- Utilizzare gli host che supportano la funzionalità SEV-ES.
- Utilizzare la versione ESXi di 7.0 Update 2 o versione successiva.
- Abilitare SEV-ES nella configurazione BIOS di un sistema ESXi. Consultare la documentazione del sistema per ulteriori informazioni sull'accesso alla configurazione del BIOS.
- Quando si abilita SEV-ES nel BIOS, immettere per l'impostazione ASID non-ES SEV minimo un valore uguale al numero di macchine virtuali SEV-ES e Pod vSphere riservati nell'host più uno. Ad esempio, se si intende eseguire 100 macchine virtuali SEV-ES e 128 Pod vSphere, immettere almeno 229. È possibile immettere un'impostazione fino a 500.
Procedura
- Creare un file YAML contenente i seguenti parametri.
- Nelle annotazioni, abilitare la funzionalità dei Pod vSphere riservati.
...
annotations:
vmware/confidential-pod: enabled
...
- Specificare le risorse di memoria per i contenitori.
Assicurarsi di impostare le richieste e i limiti di memoria sullo stesso valore, come in questo esempio.
resources:
requests:
memory: "512Mi"
limits:
memory: "512Mi"
Utilizzare il seguente file YAML come esempio:
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"
- Accedere al Supervisore.
kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
- Passare allo spazio dei nomi in cui si desidera distribuire l'applicazione.
kubectl config use-context <namespace>
- Distribuire un Pod vSphere riservato dal file YAML.
kubectl apply -f <yaml file name>.yaml
Nota: Quando viene distribuita la
Pod vSphere, DRS lo posiziona nel nodo
ESXi che supporta SEV-ES. Se questo nodo non è disponibile,la
Pod vSphere viene contrassegnata come non riuscito.
La Pod vSphere riservata avviata fornisce il supporto della crittografia della memoria hardware per tutti i carichi di lavoro in esecuzione in tale pod.
- Eseguire il comando seguente per verificare che sia stato creato il Pod vSphere riservato.
kubectl describe pod/<yaml name>
Operazioni successive
Un amministratore di vSphere può visualizzare le
Pod vSphere riservate. Nel
vSphere Client, viene visualizzata con il tag
Modalità di crittografia: Elaborazione riservata.