Поделиться через


Использование конфиденциальных виртуальных машин (CVM) в кластерe Azure Kubernetes Service (AKS)

Конфиденциальные виртуальные машины (CVM) обеспечивают надежную безопасность и конфиденциальность для клиентов. CVM предлагают виртуальные машины с аппаратной доверенной средой выполнения (TEE), которая использует функции безопасности SEV-SNP, чтобы запретить гипервизору и другим кодам управления узлами доступ к памяти и состоянию виртуальной машины, обеспечивая многослойную защиту от доступа оператора. С помощью этих функций пулы узлов с CVM могут ориентироваться на миграцию конфиденциальных рабочих нагрузок контейнеров в AKS без рефакторинга кода, получая преимущества функций AKS. Например, может потребоваться CVM, если у вас есть следующее:

  • Рабочие нагрузки, обрабатывающие критически важные данные безопасности и (или) конфиденциальные данные клиента
  • Службы, необходимые для удовлетворения различных требований соответствия требованиям, особенно для государственных контрактов. Без масштабируемого решения для защиты данных это может привести к потере аккредитации и контрактов.

Из этой статьи вы узнаете, как создать пулы узлов AKS с помощью размеров конфиденциальных виртуальных машин.

Осторожность

В этой статье содержатся ссылки на функцию, которая использует версии ОС Ubuntu, которые устарели для AKS.

  • Начиная с 17 марта 2027 года AKS больше не будет поддерживать Ubuntu 20.04. Существующие образы узлов будут удалены, а AKS больше не будет предоставлять обновления безопасности. Вы больше не сможете масштабировать пулы узлов. Обновите пулы узлов до kubernetes версии 1.34+, чтобы перейти на поддерживаемую версию Ubuntu. Дополнительные сведения об этом выходе на пенсию см. в статье "Проблемы с AKS GitHub".

Поддерживаемые размеры конфиденциальных виртуальных машин AKS

Azure предлагает варианты доверенной среды выполнения (TEE) в AMD и Intel. Эти TEEs позволяют создавать среды конфиденциальных виртуальных машин с отличным соотношением цены и производительности, не требуя каких-либо изменений кода.

  • Конфиденциальные виртуальные машины на основе AMD используют технологию AMD SEV-SNP, которая представлена третьими процессорами AMD EPYC™.
  • Конфиденциальные виртуальные машины intel используют Intel TDX с четвертым поколением процессоров Intel® Xeon®.

Обе технологии имеют разные реализации. Однако оба обеспечивают аналогичную защиту от стека облачной инфраструктуры. Дополнительные сведения см. в разделе "Размеры виртуальных машин CVM".

Функции безопасности

CVMs предлагают следующие улучшения безопасности по сравнению с другими размерами виртуальных машин.

  • Надежная аппаратная изоляция между виртуальными машинами, гипервизором и кодом управления узлами.
  • Настраиваемые политики аттестации для проверки соответствия узла требованиям перед развертыванием.
  • Шифрование дисков конфиденциальной ОС на основе облака перед первой загрузкой.
  • Ключи шифрования виртуальных машин, которыми владеет и управляет платформа или клиент (необязательно).
  • Безопасный выпуск ключа с криптографической привязкой между успешной аттестацией платформы и ключами шифрования виртуальных машин.
  • Выделенный экземпляр доверенного платформенного модуля (TPM) для аттестации и защиты ключей и секретов на виртуальной машине.
  • Возможность безопасной загрузки, аналогичная доверенному запуску для виртуальных машин Azure

Как это работает?

Если вы выполняете рабочую нагрузку, требующую повышенной конфиденциальности и целостности, вы можете воспользоваться шифрованием памяти и улучшенной безопасностью без изменений кода в приложении. Все поды на узле CVM являются частью одной границы доверия. Узлы в пуле узлов, созданном с помощью CVM, используют настраиваемый [образ узла][./node-images], специально настроенный для CVM.

Поддерживаемые версии ОС

Пулы узлов CVM можно создавать в типах ОС Linux (Ubuntu и Azure Linux). Однако не все версии ОС поддерживают пулы узлов CVM.

Эта таблица включает поддерживаемые версии ОС:

Тип ОС Артикул ОС Поддержка CVM CVM по умолчанию
Линукс Ubuntu Поддерживается Ubuntu 20.04 по умолчанию для K8s версии 1.24-1.33. Ubuntu 24.04 по умолчанию для K8s версии 1.34-1.38.
Линукс Ubuntu2204 Не поддерживается AKS не поддерживает CVM для Ubuntu 22.04.
Линукс Ubuntu2404 Поддерживается CVM поддерживается Ubuntu2404 в K8s 1.32-1.38.
Линукс AzureLinux Поддерживается в Azure Linux 3.0 Azure Linux 3 по умолчанию используется при включении CVM для K8s версии 1.28-1.36.
Виндоус Все SKU ОС Windows Не поддерживается

При использовании Ubuntu или AzureLinux в качестве osSKU, если версия ОС по умолчанию не поддерживает CVM, AKS по умолчанию использует самую последнюю версию ОС, поддерживаемую CVM. Например, Ubuntu 22.04 по умолчанию используется для пулов узлов Linux. Так как 22.04 в настоящее время не поддерживает CVM, AKS по умолчанию использует пулы узлов с поддержкой Ubuntu 20.04 для Linux CVM.

Ограничения

При добавлении пула узлов с CVM в AKS применяются следующие ограничения:

  • Вы не можете использовать FIPS, ARM64, доверенный запуск или изоляцию контейнера Pod.
  • Невозможно обновить существующий пул узлов, чтобы перейти к размеру CVM. Чтобы выполнить миграцию, необходимо изменить размер пула узлов.
  • Вы не можете использовать CVM с пулами узлов Windows.
  • CVM с Azure Linux в настоящее время находится в предварительной версии.

Предпосылки

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Существующий кластер AKS.
  • Размеры CVM должны быть доступны для вашей подписки в регионе, где создается кластер. Необходимо иметь достаточную квоту для создания пула узлов с размером CVM.
  • Если вы используете ос Azure Linux, необходимо установить aks-preview расширение, обновить aks-preview расширение и зарегистрировать флаг функции предварительной версии. Если вы используете Ubuntu, эти действия можно пропустить.

Установка aks-preview расширения

  1. aks-preview Установите расширение Azure CLI с помощью az extension add команды.

    Это важно

    Предварительные версии функций AKS доступны на условиях самообслуживания и добровольного выбора. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS сопровождаются частичной поддержкой клиентов на основе принципа лучших усилий. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:

    az extension add --name aks-preview
    
  2. Обновите до последней версии расширения с помощью az extension update команды.

    az extension update --name aks-preview
    

Регистрация AzureLinuxCVMPreview флага компонента

  1. AzureLinuxCVMPreview Зарегистрируйте флаг компонента с помощью команды [az feature register][az-feature-register].

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxCVMPreview"
    
  2. Проверьте состояние регистрации с помощью команды [az feature show][az-feature-show]. Через несколько минут отобразится состояние Registered (Зарегистрировано).

    az feature show --namespace Microsoft.ContainerService --name AzureLinuxCVMPreview
    
  3. Когда состояние отражает зарегистрировано, обновите регистрацию поставщика ресурсов Microsoft.ContainerService с помощью команды [az provider register][az-provider-register].

    az provider register --namespace Microsoft.ContainerService
    

Добавление пула узлов с cvM в кластер AKS

Если вы не указываете osSKU или osType, AKS по умолчанию использует --os-type Linux и --os-sku Ubuntu.

Проверьте, используется ли CVM в пуле узлов

  1. Убедитесь, что пул узлов использует CVM az aks nodepool show командой и проверьте, что vmSize - это Standard_DCa4_v5.

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

    В следующем примере команды и выходных данных показано, что пул узлов использует CVM:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    
    "Standard_DC4as_v5"
    
  2. Убедитесь, что пул узлов использует образ CVM с помощью az aks nodepool list команды.

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

    В следующем примере команда и вывод показывают, что пул нод использует образ Ubuntu 20.04 CVM.

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

Удаление пула узлов с CVM из кластера AKS

  • Удалите пул узлов с CVM из кластера AKS с помощью az aks nodepool delete команды.

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

Следующие шаги

Из этой статьи вы узнали, как добавить пул узлов с CVM в кластер AKS.