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

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

Modalità di crittografia: Elaborazione riservata per vSphere Pod