全部產品
Search
文件中心

Container Service for Kubernetes:在ACK叢集中建立TDX機密虛擬機器計算節點池

更新時間:Jun 19, 2024

ACK叢集支援基於Intel® Trusted Domain Extension(Intel® TDX)技術的ECS執行個體(下文簡稱為TDX執行個體)建立TDX機密虛擬機器計算節點池,使現有叢集具備TDX機密計算能力。建立ACK機密虛擬機器節點池後,您無需改造應用代碼,便可直接將應用部署至機密虛擬機器節點池,平滑提升應用的安全水位。本文介紹如何建立TDX機密虛擬機器計算節點池並在叢集中部署一個樣本應用。

前提條件

已在華北2(北京)地區建立一個ACK叢集Pro版。具體操作,請參見建立Kubernetes託管版叢集

使用限制

支援TDX機密計算環境TDX執行個體必須滿足以下要求:

  • 地區:華北2(北京)可用性區域I

  • 執行個體規格:g8i.xlarge及以上執行個體規格

  • 鏡像:Alibaba Cloud Linux 3.2104 LTS 64位 UEFI版

重要

TDX機密計算環境存在一些已知的功能限制,請在使用前瞭解相關資訊,請參見已知功能限制

TDX介紹

Intel® TDX是一項基於CPU硬體的Elastic Compute Service保護技術,TDX執行個體的CPU寄存器、記憶體資料、中斷處理等均受到CPU硬體的機密保護,雲廠商和外部攻擊者均無法監控或篡改TDX執行個體的內部運行狀態(如啟動並執行進程、計算中的敏感性資料等)。關於Intel® TDX技術的更多資訊,請參見Intel® Trusted Domain Extension(Intel® TDX)

Intel® TDX可以為您的執行個體和應用提供預設的安全保護,即您可以將現有應用隨即轉移至TDX執行個體上並獲得TDX能力帶來的安全保護,而無需重新開發現有的應用程式。

ACK機密虛擬機器節點池可以為機密計算節點提供無縫的擴縮容能力,還可以提升主機作業系統和硬體的機密性。您可以以雲原生的方式輕鬆部署ACK機密虛擬機器節點池,以擴充和營運高安全水位的應用。ACK機密虛擬機器節點池支援多種機密計算情境,例如金融風控,醫學健康資料隱私保護、AIGC及LLM推理和微調、機密資料庫、巨量資料應用等。

以AIGC/LLM情境為例,下圖介紹如何結合TDX、AMX等多種硬體能力以及對模型資料的全鏈路保護,實現端到端的安全推理。

步驟一:建立節點池

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點池

  3. 在頁面右上方,單擊建立節點池,按照頁面提示完成配置,然後單擊確認配置

    下文僅介紹主要配置項。更多資訊,請參見建立節點池

    配置項

    描述

    虛擬交換器

    可用性區域I下的虛擬交換器。

    自動調整

    保持預設配置,不開啟自動Auto Scaling。

    執行個體規格

    執行個體規格為g8i.xlarge及以上執行個體規格。

    期望節點數

    節點池初始節點數量。保持預設配置,為0。

    作業系統

    選擇Alibaba Cloud Linux 3.2104 UEFI版。

    以下為進階配置(頁面下拉,單擊顯示進階選項

    節點標籤

    為了便於將Pod調度到該節點池,建議設定節點標籤。

    • 鍵:nodepool-label

    • 值:tdx-vm-pool

步驟二:建立TDX執行個體

  1. 前往ECS執行個體建立頁,建立TDX執行個體。

    下文僅介紹主要配置項。更多資訊,請參見自訂購買執行個體

    配置項

    描述

    地區

    選擇華北2(北京)。

    網路及可用性區域

    • 專用網路選擇步驟一建立的節點池所在的VPC。

    • 可用性區域選擇可用性區域I步驟一建立的節點池所使用的虛擬交換器。

    執行個體

    選擇g8i.xlarge及以上的執行個體規格。

    鏡像

    • 選擇Alibaba Cloud Linux 3.2104 LTS 64位 UEFI版

    • 勾選機密虛擬機器

    安全性群組

    選擇步驟一建立的節點池所使用的安全性群組。

(可選)步驟三:檢查TDX執行個體使能狀態

您可以登入ECS執行個體,通過以下步驟檢查TDX執行個體的TDX使能狀態,確認執行個體處於安全保護中。

  1. 檢查TDX使能狀態。

    lscpu |grep -i tdx_guest

    下圖所示表示TDX已經被正確使能。tdx-install

  2. 檢查TDX相關驅動安裝情況。

    ls -l /dev/tdx_guest

    下圖所示表示已經安裝TDX相關驅動。image

步驟四:將TDX執行個體添加到節點池

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點池

  3. 在節點池列表的操作列,單擊目標節點池對應的更多>添加已有節點,在選擇已有雲端服務器執行個體設定精靈頁面,選擇添加方式自動添加,在雲端服務器列表中選擇步驟二建立的TDX執行個體,然後按照頁面提示完成配置。

    關於添加已有節點配置的詳細資料,請參見添加已有節點

步驟五:部署樣本應用

TDX機密虛擬機器計算節點池建立完成後,您無需改造應用代碼,即可將應用隨即轉移部署到TDX機密虛擬機器計算節點池中的TDX執行個體上。

通過控制台部署

  1. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇工作負載 > 容器組

  2. 在頁面右上方,單擊使用YAML建立資源,選擇樣本模板自訂,粘貼以下YAML檔案,然後單擊建立

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        name: pod-tdx-vm
      name: pod-tdx-vm
    spec:
      containers:
        - image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
          name: hello
          command:
          - sh
          - -c
          - 'echo hello && sleep infinity'
      nodeSelector:    # 確保Pod被調度到TDX虛擬機器執行個體上
        nodepool-label: tdx-vm-pool

    建立成功後,您可以在容器組頁面查看應用Pod的狀態和其他資訊。Pod狀態顯示Running時,表明應用部署成功。

通過kubectl部署

  1. 已通過kubectl工具串連叢集

  2. 將以下檔案儲存為pod-tdx-vm.yaml。

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        name: pod-tdx-vm
      name: pod-tdx-vm
    spec:
      containers:
        - image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
          name: hello
          command:
          - sh
          - -c
          - 'echo hello && sleep infinity'
      nodeSelector:    # 確保 pod 被調度 TDX 虛擬機器執行個體上
        nodepool-label: tdx-vm-pool
  3. 執行以下命令,部署pod-tdx-vm.yaml,建立一個名為pod-tdx-vm的應用Pod。

    kubectl apply -f pod-tdx-vm.yaml
  4. 執行以下命令,確認應用部署成功。

    kubectl get pod pod-tdx-vm

    預期輸出:

    NAME         READY   STATUS    RESTARTS   AGE
    pod-tdx-vm   1/1     Running   0          52s

相關操作

使用CPU加速Stable Diffusion XL Turbo的文生圖推理