Compartir a través de


Uso de máquinas virtuales confidenciales (CVM) en el clúster de Azure Kubernetes Service (AKS)

Confidential Virtual Machines (CVM) ofrece una sólida seguridad y confidencialidad para los inquilinos. Los CVM ofrecen un Entorno de Ejecución Confiable basado en Hardware (TEE) para máquinas virtuales que aprovechan las características de seguridad SEV-SNP para negar al hipervisor y a otros códigos de administración del host el acceso a la memoria y al estado de las máquinas virtuales, proporcionando una protección en profundidad contra el acceso del operador. Estas características permiten que los grupos de nodos con CVM tengan como destino la migración de cargas de trabajo de contenedor altamente confidenciales a AKS sin refactorización de código mientras se benefician de las características de AKS. Por ejemplo, puede requerir CVM si tiene lo siguiente:

  • Cargas de trabajo que controlan datos críticos de seguridad o datos confidenciales de los clientes
  • Servicios necesarios para cumplir varios requisitos de cumplimiento, especialmente para contratos gubernamentales. Sin una solución escalable para proteger los datos, esto podría provocar la pérdida de acreditaciones y contratos.

En este artículo, aprenderá a crear grupos de nodos de AKS mediante tamaños de máquina virtual confidenciales.

Tamaños de máquina virtual confidencial compatibles con AKS

Azure ofrece una variedad de opciones de entorno de ejecución de confianza (TEE) de AMD e Intel. Estos TEE permiten crear entornos de VM confidenciales con excelentes relaciones de precio a rendimiento, todo ello sin necesidad de cambios de código.

  • Las máquinas virtuales confidenciales basadas en AMD usan la tecnología AMD SEV-SNP, que se introduce con los procesadores AMD EPYC™ de tercera generación.
  • Las máquinas virtuales confidenciales basadas en Intel usan Intel TDX, con los procesadores Intel® Xeon® de cuarta generación.

Ambas tecnologías tienen implementaciones diferentes. Sin embargo, ambos proporcionan protecciones similares para la pila de infraestructura en la nube. Para obtener más información, consulte Tamaños de máquina virtual de CVM.

Características de seguridad

Los CVM ofrecen las siguientes mejoras de seguridad en comparación con otros tamaños de máquina virtual (VM):

  • Aislamiento sólido basado en hardware entre las máquinas virtuales, el hipervisor y el código de administración de host.
  • Directivas de atestación personalizables para garantizar el cumplimiento del host antes de la implementación.
  • Cifrado de disco confidencial del sistema operativo basado en la nube antes del primer arranque.
  • Claves de cifrado de VM que la plataforma o el cliente (opcionalmente) posean y administren.
  • Liberación segura de claves con enlace criptográfico entre la atestación correcta de la plataforma y las claves de cifrado de la VM.
  • Instancia dedicada del módulo de plataforma segura virtual (TPM) para la atestación y protección de claves y secretos en la máquina virtual.
  • Funcionalidad de arranque seguro similar al inicio seguro de máquinas virtuales de Azure

¿Cómo funciona?

Si ejecuta una carga de trabajo que requiere una mayor confidencialidad e integridad, puede beneficiarse del cifrado de memoria y la seguridad mejorada sin cambios de código en la aplicación. Todos los pods del nodo CVM forman parte del mismo límite de confianza. Los nodos de un grupo de nodos creados con CVM usan una imagen de nodo personalizada especialmente configurada para CVM.

Versiones admitidas del sistema operativo

Puede crear grupos de nodos de CVM en tipos de sistema operativo Linux (Ubuntu y Azure Linux). Sin embargo, no todas las versiones del sistema operativo admiten grupos de nodos CVM.

En esta tabla se incluyen las versiones admitidas del sistema operativo:

Tipo de SO SKU del sistema operativo Compatibilidad con CVM Valor predeterminado de CVM
Linux Ubuntu Compatible Ubuntu 20.04 es el valor predeterminado para K8s versión 1.24-1.33. Ubuntu 24.04 es el valor predeterminado para K8s versión 1.34-1.38.
Linux Ubuntu2204 No está soportado AKS no admite CVM para Ubuntu 22.04.
Linux Ubuntu2404 Compatible CVM es compatible en Ubuntu2404 en K8s 1.32-1.38.
Linux AzureLinux Compatible con Azure Linux 3.0 Azure Linux 3 es el valor predeterminado al habilitar CVM para K8s versión 1.28-1.36.
Linux flatcar No está soportado Flatcar Container Linux para AKS no admite CVM.
Linux AzureLinuxOSGuard No está soportado Azure Linux con OS Guard para AKS no admite CVM.
Windows Todas las SKU del sistema operativo Windows No está soportado

Cuando se usa Ubuntu o AzureLinux como osSKU, si la versión predeterminada del sistema operativo no es compatible con CVM, AKS tiene como valor predeterminado la versión más reciente compatible con CVM del sistema operativo. Por ejemplo, Ubuntu 22.04 es el valor predeterminado para los grupos de nodos de Linux. Dado que la versión 22.04 no admite actualmente CVM, AKS tiene como valor predeterminado Ubuntu 20.04 para grupos de nodos habilitados para CVM para Linux.

Limitaciones

Se aplican las siguientes limitaciones al agregar un grupo de nodos con CVM a AKS:

  • No puede usar FIPS, ARM64, Trusted Launch ni el sandboxing de pods.
  • No se puede actualizar un grupo de nodos existente para migrar a un tamaño de CVM. Para migrar, deberá cambiar el tamaño del grupo de nodos.
  • No puede usar CVM con grupos de nodos de Windows.
  • CVM con Azure Linux está actualmente en versión preliminar.

Prerrequisitos

Antes de comenzar, asegúrese de que dispone de lo siguiente:

  • Un clúster de AKS existente
  • Los tamaños de CVM deben estar disponibles para la suscripción en la región donde se crea el clúster. Debe tener suficiente cuota para crear un grupo de nodos con un tamaño CVM.
  • Si usa el sistema operativo Linux de Azure, necesita instalar la extensión aks-preview, actualizar la extensión aks-preview, y registrar el indicador de función de vista previa. Si usa Ubuntu, puede omitir estos pasos.

Si usa Azure Linux

Los CVM para Ubuntu son de disponibilidad general, pero los CVM con Azure Linux todavía están en versión preliminar. Si desea usar grupos de nodos de CVM con Azure Linux como sistema operativo que prefiera, asegúrese de habilitar la extensión y registrar la marca.

Instala la extensión aks-preview

  1. Instale la extensión aks-preview Azure CLI mediante el comando az extension add.

    Importante

    Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

    az extension add --name aks-preview
    
  2. Actualiza a la última versión de la extensión mediante el comando az extension update.

    az extension update --name aks-preview
    

Registrar AzureLinuxCVMPreview marca de características

  1. Registre la marca de la característica AzureLinuxCVMPreview mediante el comando [az feature register][az-feature-register].

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxCVMPreview"
    
  2. Compruebe el estado del registro mediante el comando [az feature show][az-feature-show]. Tarda unos minutos en que el estado muestre Registrado.

    az feature show --namespace Microsoft.ContainerService --name AzureLinuxCVMPreview
    
  3. Cuando aparezca el estado Registrado, actualice el registro del proveedor de recursos Microsoft.ContainerService mediante el comando [az provider register][az-provider-register].

    az provider register --namespace Microsoft.ContainerService
    

Adición de un grupo de nodos con un CVM al clúster de AKS

  • Agregue un grupo de nodos con un CVM al clúster de AKS mediante el az aks nodepool add comando y establezca en node-vm-size un tamaño de máquina virtual compatible.

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

Si no especifica osSKU o osType, AKS usará por defecto --os-type Linux y --os-sku Ubuntu.

Actualización de un grupo de nodos existente con un CVM a Ubuntu 24.04

  • Actualice un grupo de nodos existente con un CVM a Ubuntu 24.04 desde Ubuntu 20.04 mediante el az aks nodepool update comando . Establezca os-sku como Ubuntu2404.

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

Nota:

Un grupo de nodos con Ubuntu 24.04 y un CVM es compatible desde la versión 1.33 del clúster de AKS. Además, antes de que Ubuntu 24.04 se convierta en GA, debe registrar la Ubuntu2404Preview característica. Para obtener más información, consulte here para registrar la característica.

Comprobación de que el grupo de nodos usa CVM

  1. Compruebe que un grupo de nodos usa CVM mediante el comando az aks nodepool show y que vmSize es Standard_DCa4_v5.

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

    En el siguiente comando y salida de ejemplo se muestra que el grupo de nodos usa CVM:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    
    "Standard_DC4as_v5"
    
  2. Compruebe que un grupo de nodos usa una imagen de CVM mediante el az aks nodepool list comando .

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

    En el siguiente comando y salida de ejemplo se muestra que el grupo de nodos usa una imagen de CVM de Ubuntu 20.04:

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

Eliminación de un grupo de nodos con CVM de un clúster de AKS

  • Elimine un grupo de nodos con CVM de un clúster AKS mediante el comando az aks nodepool delete.

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

Pasos siguientes

En este artículo ha aprendido a agregar un grupo de nodos de con CVM a un clúster de AKS.