Con vSphere with Tanzu, è possibile eseguire Pod vSphere riservati in un Cluster 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.

A partire da vSphere 7.0 Update 2, è possibile creare Pod vSphere riservati aggiungendo lo stato di virtualizzazione crittografato sicuro (SEV-ES) come ulteriore 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 di vSphere, vedere Securing Virtual Machines with AMD Secure Encrypted Virtualization-Encrypted State.

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. Attualmente, SEV-ES supporta solo CPU AMD EPYC 7xx2 (codice denominato Rome) e CPU successive.
  • 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

  1. Creare un file YAML contenente i seguenti parametri.
    1. Nelle annotazioni, abilitare la funzionalità dei Pod vSphere riservati.
      ...
      annotations:
              vmware/confidential-pod: enabled
      ...
    2. 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"
  2. Accedere al Cluster supervisore.
    kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
  3. Passare allo spazio dei nomi in cui si desidera distribuire l'applicazione.
    kubectl config use-context <namespace>
  4. 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.

  5. 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.