Utiliser des Machines Virtuelles confidentiels dans Azure Kubernetes Service (AKS) cluster

Confidential Machines Virtuelles (CVMs) offrent une sécurité et une confidentialité fortes pour les locataires. Les machines virtuelles offrent un environnement TEE (Hardware Trusted Execution Environment) basé sur des machines virtuelles qui tirent parti de SEV-SNP fonctionnalités de sécurité pour refuser l’hyperviseur et d’autres accès au code de gestion de l’hôte à la mémoire et à l’état des machines virtuelles, ce qui assure une défense contre l’accès aux opérateurs. Ces fonctionnalités permettent aux pools de nœuds avec des machines virtuelles de cibler la migration de charges de travail de conteneur hautement sensibles vers AKS sans refactorisation de code tout en bénéficiant des fonctionnalités d’AKS. Par exemple, vous pouvez exiger des machines virtuelles virtuelles si vous disposez des éléments suivants :

  • Charges de travail qui gèrent les données critiques de sécurité et les données client sensibles.
  • Services requis pour répondre à diverses exigences de conformité, en particulier pour les contrats gouvernementaux. Sans solution évolutive pour la sécurisation des données, cela peut entraîner la perte d’accréditations et de contrats.

Dans cet article, vous allez apprendre à créer des pools de nœuds AKS à l’aide de tailles de machine virtuelle confidentielle.

Capture d’écran du diagramme d’architecture montrant les Machines Virtuelles confidentielles dans AKS.

Important

À compter du 10 décembre 2026, Azure Kubernetes Service (AKS) ne prend plus en charge Azure Linux avec OS Guard pour AKS (préversion). À ce stade, AKS ne produit plus de nouvelles Azure Linux avec des images de nœud OS Guard ou fournit des correctifs de sécurité, et vous ne pouvez plus créer de pools de nœuds avec Azure Linux avec OS Guard. Le 10 mars 2027, AKS supprime toutes les Azure Linux existantes avec des images de nœud OS Guard, ce qui entraîne l’échec des opérations de mise à l’échelle et de correction (reimage et redéploiement). Pour éviter toute interruption, migrez vers Azure Container Linux (ACL). Pour plus d’informations sur cette mise hors service, consultez le ticket GitHub relatif à la mise hors service et l’annonce de mise hors service dans Mises à jour Azure. Pour rester informé des annonces et des mises à jour, suivez les notes de publication AKS.

Tailles de machine virtuelle confidentielle prises en charge par AKS

Azure propose un choix d’options d’environnement d’exécution de confiance (TEE) à partir d’AMD et d’Intel. Ces TEE vous permet de créer des environnement de machines virtuelles confidentielles avec un excellent rapport prix/performance, sans nécessiter de modification de code. Les machines virtuelles confidentielles Intel TDX ne sont actuellement pas prises en charge sur AKS.

Pour plus d’informations, voir Tailles des machines virtuelles CVM.

Fonctionnalités de sécurité

Les machines virtuelles offrent les améliorations de sécurité suivantes par rapport aux autres tailles de machine virtuelle :

  • Isolement matériel fiable entre les machines virtuelles, l’hyperviseur et le code de gestion de l’hôte.
  • Stratégies d’attestation personnalisables pour garantir la conformité de l’hôte avant le déploiement.
  • Clés de chiffrement de machine virtuelle que la plateforme ou le client possède et gère.
  • Libération de clé sécurisée avec liaison de chiffrement entre l’attestation réussie de la plateforme et les clés de chiffrement de la machine virtuelle.
  • Instance de module de plateforme sécurisée (TPM) virtuelle dédiée pour l’attestation et la protection des clés et des secrets dans la machine virtuelle.
  • Fonction de démarrage sécurisé semblable au lancement fiable pour les machines virtuelles Azure

Comment fonctionne-t-il ?

Si vous exécutez une charge de travail qui nécessite une confidentialité et une intégrité améliorées, vous pouvez tirer parti du chiffrement de la mémoire et de la sécurité renforcée sans modification du code dans votre application. Tous les pods sur votre nœud CVM font partie de la même limite d’approbation. Les nœuds d’un pool de nœuds créés avec des machines virtuelles virtuelles utilisent une image de nœud personnalisée spécialement configurée pour les machines virtuelles virtuelles.

Versions du système d’exploitation prises en charge

Vous pouvez créer des pools de nœuds CVM sur des types de système d’exploitation Linux (Ubuntu et Azure Linux). Toutefois, toutes les versions du système d’exploitation ne prennent pas en charge les pools de nœuds CVM.

Ce tableau inclut les versions de système d’exploitation prises en charge :

Type de système d’exploitation Référence SKU du système d’exploitation Prise en charge de CVM CVM par défaut
Linux Ubuntu Soutenu Ubuntu 20.04 est la valeur par défaut pour Kubernetes version 1.24-1.34. Ubuntu 24.04 est la valeur par défaut pour Kubernetes version 1.35-1.38.
Linux Ubuntu2204 Non prise en charge AKS ne prend pas en charge CVM pour Ubuntu 22.04.
Linux Ubuntu2404 Soutenu CVM est pris en charge sur Ubuntu2404 dans Kubernetes 1.32-1.38.
Linux AzureLinux Prise en charge sur Azure Linux 3.0 Azure Linux 3 est par défaut lors de l’activation de la machine virtuelle CVM pour Kubernetes version 1.28-1.36.
Linux flatcar Non prise en charge Flatcar Container Linux pour AKS ne prend pas en charge CVM.
Linux AzureLinuxOSGuard Non prise en charge Azure Linux avec OS Guard pour AKS ne prend pas en charge CVM.
Linux AzureContainerLinux Non prise en charge Azure Container Linux (ACL) ne prend pas en charge CVM.
Fenêtres Toutes les références SKU de système d’exploitation Windows Non prise en charge N/A

Lorsque vous utilisez Ubuntu ou AzureLinux en tant que osSKU, si la version par défaut du système d’exploitation ne prend pas en charge les CVM, AKS utilise par défaut la version la plus récente du système d’exploitation prenant en charge les CVM.

Limites

Les limitations suivantes s’appliquent quand vous ajoutez un pool de nœuds avec CVM à AKS :

  • Vous ne pouvez pas utiliser FIPS, ARM64, Trusted Launch, l’isolation de pods, les conteneurs confidentiels ou le provisionnement automatique des nœuds (NAP) avec des pools de nœuds CVM.
  • Vous ne pouvez pas utiliser de machines virtuelles virtuelles avec des pools de nœuds Windows.

Conditions préalables

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Cluster AKS existant.
  • Les tailles CVM doivent être disponibles pour votre abonnement dans la région où le cluster est créé. Vous devez disposer d’un quota suffisant pour créer un pool de nœuds avec une taille CVM.

Ajouter un pool de nœuds avec une machine virtuelle CVM à votre cluster AKS

Ajoutez un pool de nœuds avec une machine virtuelle CVM à votre cluster AKS à l’aide de la commande az aks nodepool add et définissez-le node-vm-size sur une taille de machine virtuelle prise en charge.

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

Si vous ne spécifiez pas le osSKU ou osType, AKS est défini par défaut --os-type Linux sur et --os-sku Ubuntu.

Pour créer un pool de nœuds CVM qui utilise Azure Linux, définissez --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

Vérifiez que le pool de nœuds utilise des CVM

  1. Vérifiez qu’un pool de nœuds utilise des CVM en exécutant la commande az aks nodepool show et en vérifiant que vmSize est Standard_DC4as_v5.

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

    L’exemple de sortie suivant montre que le pool de nœuds utilise des machines virtuelles virtuelles :

    "Standard_DC4as_v5"
    
  2. Vérifiez qu’un pool de nœuds utilise une image CVM en exécutant la az aks nodepool show commande.

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

    L’exemple de sortie suivant montre que le pool de nœuds utilise une image CVM Ubuntu 20.04. La génération du système d’exploitation et la version de l’image dépendent de la version de Kubernetes et de la référence SKU du système d’exploitation du pool de nœuds.

    "AKSUbuntu-2404gen2CVMcontainerd-202608.06.1"
    

Supprimer un pool de nœuds avec des machines virtuelles d’un cluster AKS

Supprimez un pool de nœuds avec des machines virtuelles virtuelles d’un cluster AKS à l’aide de la az aks nodepool delete commande.

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

Dans cet article, vous avez appris à ajouter un pool de nœuds avec des machines virtuelles virtuelles à un cluster AKS.