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


Миграция на службу управления ключами (KMS) версии 2 в службе Azure Kubernetes (AKS) (устаревшая версия)

Это важно

Эта статья относится к кластерам с использованием устаревшего интерфейса KMS, необходимого для миграции из KMS версии 1 в KMS версии 2. Для кластеров под управлением Kubernetes версии 1.33 или более поздней рекомендуется использовать новый интерфейс шифрования данных KMS , который предлагает управляемые платформой ключи, ключи, управляемые клиентом, с автоматической сменой ключей и упрощенную настройку.

Из этой статьи вы узнаете, как перейти на KMS версии 2 для кластеров с версиями старше 1.27. Начиная с AKS версии 1.27, включение функции KMS настраивает KMS версии 2. При использовании KMS версии 2 вы не ограничиваетесь 2000 секретами, поддерживаемыми более ранними версиями. Дополнительные сведения см. в разделе улучшения KMS версии 2.

Это важно

Если версия кластера старше 1.27, и вы уже включили KMS, обновление до версии 1.27 или более поздней будет заблокировано.

Отключение KMS

  1. Отключите KMS в существующем кластере, используя команду az aks update с параметром --disable-azure-keyvault-kms.

    az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --disable-azure-keyvault-kms
    
  2. Обновите все секреты с помощью команды kubectl get secrets, чтобы убедиться, что созданные ранее секреты больше не остаются зашифрованными. Для больших кластеров может потребоваться разделить секреты по пространству имен или создать скрипт обновления. Если предыдущая команда для обновления KMS завершается ошибкой, выполните следующую команду во избежание неожиданного состояния плагина KMS.

    kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    

    При выполнении команды следующую ошибку можно игнорировать без опасений:

    The object has been modified; please apply your changes to the latest version and try again.
    

Обновление кластера AKS и включение KMS

  1. Обновите кластер AKS до версии 1.27 или более поздней, используя команду az aks upgrade с параметром --kubernetes-version, установленным на требуемую версию. В следующем примере выполняется обновление до версии 1.27.1:

    az aks upgrade --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --kubernetes-version 1.27.1
    
  2. После завершения обновления можно включить KMS для общедоступного или закрытого хранилища ключей с помощью одного из следующих ресурсов:

  3. Обновите все секреты с помощью команды kubectl get secrets, чтобы убедиться, что созданные ранее секреты больше не остаются зашифрованными. Для больших кластеров может потребоваться разделить секреты по пространству имен или создать скрипт обновления. Если предыдущая команда для обновления KMS завершается ошибкой, выполните следующую команду во избежание неожиданного состояния плагина KMS.

    kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    

    При выполнении команды следующую ошибку можно игнорировать без опасений:

    The object has been modified; please apply your changes to the latest version and try again.
    

Дальнейшие шаги

Дополнительные сведения об использовании KMS с AKS см. в следующих статьях: