Använda konfidentiella Virtual Machines (CVM:er) i Azure Kubernetes Service (AKS) kluster

Confidential Virtual Machines (CVMs) erbjuder stark säkerhet och konfidentialitet för klienter. CVMs erbjuder en hårdvarubaserad betrodd exekveringsmiljö (TEE) baserad på VM som använder SEV-SNP-säkerhetsfunktioner för att förhindra att hypervisorn och annan värdhanteringskod får åtkomst till VM-minne och -tillstånd, vilket ger ett djupgående skydd mot operatörsåtkomst. Dessa funktioner gör det möjligt för nodpooler med CVM:er att rikta migreringen av mycket känsliga containerarbetsbelastningar till AKS utan kodrefaktorisering samtidigt som funktionerna i AKS används. Du kan till exempel behöva CVM:er om du har följande:

  • Arbetsbelastningar som hanterar säkerhetskritiska data och/eller känsliga kunddata
  • Tjänster som krävs för att uppfylla olika efterlevnadskrav, särskilt för offentliga kontrakt. Utan en skalbar lösning för att skydda data kan detta potentiellt leda till förlust av ackreditering och kontrakt.

I den här artikeln får du lära dig hur du skapar AKS-nodpooler med hjälp av storlekar för konfidentiella virtuella datorer.

AKS-stödda storlekar för konfidentiella virtuella datorer

Azure erbjuder ett urval av alternativ för betrodd körningsmiljö (TEE) från både AMD och Intel. Med dessa TEE:er kan du skapa konfidentiella VM-miljöer med utmärkta pris-till-prestanda-förhållanden, allt utan att kräva några kodändringar.

  • AMD-baserade konfidentiella virtuella datorer använder AMD-SEV-SNP teknik, som introduceras med tredje Gen AMD EPYC-processorer™.
  • Intel-baserade konfidentiella virtuella datorer använder Intel TDX, med fjärde generationens Intel® Xeon-processorer®.

Anmärkning

Intel TDX-baserade konfidentiella virtuella datorer stöds för närvarande inte på AKS.

Mer information finns i VM-storlekar för CVM.

Säkerhetsfunktioner

CVM:er erbjuder följande säkerhetsförbättringar jämfört med andra storlekar för virtuella datorer:

  • Robust maskinvarubaserad isolering mellan virtuella datorer, hypervisor- och värdhanteringskod.
  • Anpassningsbara attesteringsprinciper för att säkerställa värdens efterlevnad före utplaceringen.
  • VM-krypteringsnycklar som plattformen eller kunden (valfritt) äger och hanterar.
  • Säker nyckelversion med kryptografisk bindning mellan plattformens lyckade attestering och den virtuella datorns krypteringsnycklar.
  • Dedikerad TPM-instans (Virtual Trusted Platform Module) för attestering och skydd av nycklar och hemligheter på den virtuella datorn.
  • Säker startfunktion som liknar betrodd start för virtuella Azure-datorer

Hur fungerar det?

Om du kör en arbetsbelastning som kräver förbättrad konfidentialitet och integritet kan du dra nytta av minneskryptering och förbättrad säkerhet utan kodändringar i ditt program. Alla poddar på din CVM-nod ingår i samma förtroendegräns. Noderna i en nodpool som skapats med CVM:er använder en anpassad nodbild som är särskilt konfigurerad för CVM:er.

Operativsystemversioner som stöds

Du kan skapa CVM-nodpooler på Linux OS-typer (Ubuntu och Azure Linux). Alla OS-versioner stöder dock inte CVM-nodpooler.

Den här tabellen innehåller operativsystemversioner som stöds:

OS-typ OS-produktkod CVM-stöd CVM-standardvärde
Linux Ubuntu Understödd Ubuntu 20.04 är standard för Kubernetes version 1.24-1.34. Ubuntu 24.04 är standard för Kubernetes version 1.35-1.38.
Linux Ubuntu2204 Stöds inte AKS stöder inte CVM för Ubuntu 22.04.
Linux Ubuntu2404 Understödd CVM stöds i Ubuntu2404 Kubernetes 1.32-1.38.
Linux AzureLinux Stöds i Azure Linux 3.0 Azure Linux 3 är standard när du aktiverar CVM för Kubernetes version 1.28-1.36.
Linux flatcar Stöds inte Flatcar Container Linux för AKS stöder inte CVM.
Linux AzureLinuxOSGuard Stöds inte Azure Linux med OS Guard för AKS stöder inte CVM.
Linux AzureContainerLinux Stöds inte Azure Container Linux (ACL) stöder inte CVM.
Windows Alla Windows OS-SKU:er Stöds inte N/A

När du använder Ubuntu eller AzureLinux som osSKU, om standardversionen av operativsystemet inte stöder CVM:er, är AKS som standard den senaste CVM-version som stöds av operativsystemet. Ubuntu 22.04 är till exempel standard för Linux-nodpooler. Eftersom 22.04 för närvarande inte stöder CVM:er, är AKS som standard Ubuntu 20.04 för Linux CVM-aktiverade nodpooler.

Begränsningar

Följande begränsningar gäller när du lägger till en nodpool med CVM i AKS:

  • Du kan inte använda FIPS, ARM64, Trusted Launch eller Pod Sandboxing.
  • Du kan inte uppdatera en befintlig nodpool för att migrera till en CVM-storlek. Om du vill migrera måste du ändra storlek på nodpoolen.
  • Du kan inte använda CVM:er med Windows nodpooler.
  • Azure Container Linux (ACL) stöder för närvarande inte CVM-nodpooler i AKS.

Förutsättningar

Kontrollera att du har följande innan du börjar:

  • Ett befintligt AKS-kluster.
  • CVM-storlekar måste vara tillgängliga för din prenumeration i den region där klustret skapas. Du måste ha tillräcklig kvot för att skapa en nodpool med en CVM-storlek.

Lägga till en nodpool med en CVM i ditt AKS-kluster

Lägg till en nodpool med en CVM i AKS-klustret med hjälp av az aks nodepool add kommandot och ange storleken på den node-vm-sizevirtuella datorn som stöds.

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name cvmnodepool \
    --node-count 3 \
    --node-vm-size Standard_DC4as_v5 

Om du inte anger osSKU eller osType, är AKS standardvärdet --os-type Linux och --os-sku Ubuntu.

Om du vill skapa en CVM-nodpool som använder Azure Linux anger du --os-sku AzureLinux.

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name cvmnodepool \
    --node-count 3 \
    --node-vm-size Standard_DC4as_v5 \
    --os-sku AzureLinux

Uppgradera en befintlig nodpool med en CVM till Ubuntu 24.04

Uppgradera en befintlig nodpool med en CVM till Ubuntu 24.04 från Ubuntu 20.04 med kommandot az aks nodepool update . Ange som os-skuUbuntu2404.

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name cvmnodepool \
    --os-sku Ubuntu2404

Kontrollera att nodpoolen använder CVM:er

  1. Kontrollera att en nodpool använder CVM:er med kommandot az aks nodepool show och kontrollera att vmSize är Standard_DCa4_v5.

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    

    Följande exempelkommando och utdata visar att nodpoolen använder CVM:er:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    
    "Standard_DC4as_v5"
    
  2. Kontrollera att en nodpool använder en CVM-avbildning med kommandot az aks nodepool list .

    az aks nodepool list \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'nodeImageVersion'
    

    Följande exempelkommando och utdata visar att nodpoolen använder en Ubuntu 20.04 CVM-avbildning:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'nodeImageVersion'
    
    "AKSUbuntu-2004cvmcontainerd-202507.02.0"
    

Ta bort en nodpool med CVM:er från ett AKS-kluster

Ta bort en nodpool med CVM:er från ett AKS-kluster med kommandot az aks nodepool delete .

az aks nodepool delete \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name cvmnodepool

I den här artikeln har du lärt dig hur du lägger till en nodpool med CVM:er i ett AKS-kluster.