透過 vSphere with Tanzu,您可以在 主管叢集 上執行機密 vSphere 網繭。機密 vSphere 網繭 使用硬體技術來使客體作業系統記憶體保持加密狀態,從而防範從 Hypervisor 存取。

從 vSphere 7.0 Update 2 開始,可透過新增安全加密虛擬化-加密狀態 (SEV-ES) 作為額外的安全性增強功能,從而建立機密 vSphere 網繭。SEV-ES 可防止 CPU 暫存器將暫存器中的資訊洩漏給 Hypervisor 之類的元件。SEV-ES 還可以偵測到對 CPU 暫存器狀態進行的惡意修改。如需有關在 vSphere 環境中使用 SEV-ES 技術的詳細資訊,請參閱 使用 AMD 安全加密虛擬化加密狀態保護虛擬機器

必要條件

若要在 ESXi 主機上啟用 SEV-ES,vSphere 管理員必須遵循下列準則:
  • 使用支援 SEV-ES 功能的主機。目前,SEV-ES 僅支援 AMD EPYC 7xx2 CPU (名為 Rome 的代碼) 及更新版本的 CPU。
  • 使用 ESXi 7.0 Update 2 版或更新版本。
  • ESXi 系統的 BIOS 組態中啟用 SEV-ES。如需有關存取 BIOS 組態的詳細資訊,請參閱系統說明文件。
  • 在 BIOS 中啟用 SEV-ES 時,輸入的最小 SEV 非 ES ASID 設定值等於主機上之 SEV-ES 虛擬機器和機密 vSphere 網繭 的數目加上 1。例如,如果您計劃執行 100 個 SEV-ES 虛擬機器和 128 個 vSphere 網繭,請輸入至少 229。您可以輸入高達 500 的設定。

程序

  1. 建立包含下列參數的 YAML 檔案。
    1. 在註解中,啟用機密 vSphere 網繭 功能。
      ...
      annotations:
              vmware/confidential-pod: enabled
      ...
    2. 指定容器的記憶體資源。
      確保將記憶體要求和記憶體限制設定為相同的值,如本範例所示。
      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"
  2. 登入 主管叢集
    kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
  3. 切換至您想要部署應用程式的命名空間。
    kubectl config use-context <namespace>
  4. 從 YAML 檔案部署機密 vSphere 網繭
    kubectl apply -f <yaml file name>.yaml
    備註: 部署 vSphere 網繭 時,DRS 會將其置於支援 SEV-ES 的 ESXi 節點。如果沒有此類節點可用,則 vSphere 網繭 節點會標記為失敗。

    啟動的 vSphere 網繭 會為該網繭上執行的所有工作負載提供硬體記憶體加密支援。

  5. 執行下列命令,來確認已建立機密 vSphere 網繭
    kubectl describe pod/<yaml name>

下一步

vSphere 管理員可檢視機密 vSphere 網繭。在 vSphere Client 中,它會顯示 加密模式: 機密計算資源標籤。

vSphere 網繭顯示 [加密模式: 機密計算]