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


Руководство по переносу узлов в Azure Linux с ПОМОЩЬЮ OS Guard (предварительная версия)

В этом руководстве, часть 3 из пяти, вы переносите существующие узлы в Azure Linux с OS Guard. Вы можете перенести существующие узлы с помощью одного из следующих методов:

  • Удалите существующие пулы узлов и добавьте новые пулы узлов Azure Linux с пулами узлов OS Guard.
  • Миграция SKU ОС без изменения местоположения.

Если у вас нет существующих узлов для миграции, перейдите к следующему руководству. В последующих руководствах вы узнаете, как включить телеметрию и мониторинг в кластерах и обновить Azure Linux с помощью узлов OS Guard.

Соображения и ограничения

Прежде чем начать, ознакомьтесь со следующими рекомендациями и ограничениями для Azure Linux с OS Guard (предварительная версия):

Предпосылки

Установите расширение Azure CLI aks-preview

Это важно

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

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

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

    az extension update --name aks-preview
    

Зарегистрируйте флаг функции предварительной версии Azure Linux OS Guard

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

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    

    Через несколько минут отобразится состояние Registered (Зарегистрировано).

  2. Проверьте состояние регистрации с помощью az feature show команды.

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

    az provider register --namespace "Microsoft.ContainerService"
    

Добавление Azure Linux с пулами узлов OS Guard и удаление существующих пулов узлов

  1. Добавьте новый пул узлов Linux Azure с OS Guard с помощью az aks nodepool add команды. Эта команда добавляет новый пул узлов в кластер с флагом --mode System , что делает его системным пулом узлов. Пулы системных узлов необходимы для Azure Linux с кластерами OS Guard.

    # Declare environment variables with a random suffix for uniqueness
    export RANDOM_SUFFIX=$(openssl rand -hex 3)
    export NODE_POOL_NAME="np$RANDOM_SUFFIX"
    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    Пример выходных данных:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. Удалите существующие узлы с помощью az aks nodepool delete команды.

    az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME 
    

Ограничения для миграции SKU ОС в существующей системе

Существует несколько настроек, которые могут блокировать запрос на миграцию SKU операционной системы. Чтобы обеспечить успешную миграцию, ознакомьтесь со следующими рекомендациями и ограничениями:

  • Функция миграции SKU ОС недоступна через PowerShell или портал Azure. При использовании функции миграции SKU ОС с Azure Linux с OS Guard (предварительная версия) она недоступна через Terraform, PowerShell или портал Azure.
  • Функция миграции SKU ОС не поддерживает переименование существующих пулов узлов.
  • Ubuntu, Azure Linux и Azure Linux с OS Guard являются единственными поддерживаемыми целевыми объектами миграции SKU ОС Linux.
  • Доверенный запуск по умолчанию требуется для Azure Linux с OS Guard. Необходимо включить доверенный запуск для миграции в Azure Linux с OS Guard. Для этого может потребоваться создание новых пулов узлов.
  • FIPS требуется при включении Azure Linux с OS Guard. Если вы сейчас не используете образ FIPS, можно включить --enable-fips в команду обновления пула узлов.
  • Виртуальные машины 1-го поколения не поддерживаются.
  • SKU ОС Ubuntu с UseGPUDedicatedVHD поддержкой не может выполнить миграцию SKU ОС.
  • Конфиденциальные виртуальные машины (CVM) не поддерживаются.
  • Песочница Pod не поддерживается.
  • Миграция SKU ОС Windows не поддерживается.
  • Миграция SKU ОС с Mariner на Azure Linux поддерживается, но откат к Mariner не поддерживается.

Предварительные требования для миграции SKU ОС на месте

  • Существующий кластер AKS с по крайней мере одним пулом узлов Linux Azure.
  • Рекомендуется убедиться, что рабочие нагрузки настраиваются и выполняются успешно на узле контейнера Azure Linux с ОС Guard, прежде чем пытаться использовать функцию миграции SKU ОС, развернув кластер Azure Linux с ОС Guard в среде разработки и продакшен и убедившись в том, что ваша служба остается в рабочем состоянии.
  • Убедитесь, что функция миграции работает для вас в тестовой или dev среде перед тем как использовать процесс в рабочем кластере.
  • Убедитесь, что у ваших модулей pod достаточно бюджета прерывания pod, чтобы akS могли перемещать модули pod между виртуальными машинами во время обновления.
  • Вам потребуется Azure CLI версии 2.61.0 или более поздней. Используйте команду az version, чтобы найти версию. Чтобы обновить до последней версии, используйте az upgrade команду.

Миграция SKU операционной системы на локальном уровне

Вы можете перенести существующие пулы узлов Ubuntu или Azure Linux в Azure Linux с OS Guard, изменив SKU ОС пула узлов, что инициирует процесс обновления кластера через стандартный процесс поэтапного обновления образа узла. Эта новая функция не требует создания новых пулов узлов; вместо этого существующие пулы узлов автоматически перезаписываются.

Переместите SKU операционной системы в пуле узлов вашего хоста контейнеров Azure Linux на Azure Linux с OS Guard.

  • Мигрируйте SKU ОС вашего пула узлов на Azure Linux с OS Guard, используя команду az aks nodepool update. Эта команда инициирует пересборку пула узлов, обновляя SKU ОС пула узлов с Azure Linux на Azure Linux с OS Guard. Изменение SKU ОС запускает операцию немедленного обновления, которая занимает несколько минут.

    az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    Пример выходных данных:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
      "name": "nodepool1",
      "osSku": "AzureLinuxOSGuard",
      "provisioningState": "Succeeded"
    }
    

Замечание

При возникновении проблем во время миграции SKU ОС можно вернуться к предыдущему SKU ОС.

Проверьте миграцию SKU ОС

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

  • Если целевой объект миграции — Azure Linux с OS Guard, выполните kubectl get nodes -o wide команду. В выводе должно отображаться Microsoft Azure Linux 3.0 как образ ОС и .azl3 в конце версии ядра.
  • kubectl get pods -o wide -A Выполните команду, чтобы убедиться, что все модули pod и наборы управляющей программы выполняются в новом пуле узлов.
  • Выполните команду kubectl get nodes --show-labels, чтобы убедиться, что все метки узлов в обновленном пуле узлов соответствуют вашим ожиданиям.

Подсказка

Перед переносом рабочих кластеров рекомендуется отслеживать работоспособность службы в течение нескольких недель.

Откат к предыдущей версии SKU вашей ОС

При возникновении проблем во время миграции SKU ОС можно выполнить откат к предыдущему номеру SKU ОС. Для этого необходимо изменить поле SKU ОС в шаблоне и повторно отправить развертывание, которое активирует другую операцию обновления и повторно создает пул узлов на его предыдущий номер SKU ОС.

Замечание

Миграция ОС SKU не поддерживает откат к ОС SKU Mariner.

  • Выполните откат к предыдущей версии SKU вашей операционной системы с помощью команды az aks nodepool update. Эта команда обновляет номер SKU ОС для пула узлов из Azure Linux с OS Guard обратно в Azure Linux.

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

В этом руководстве описано, как перенести существующие узлы в Azure Linux с OS Guard. В следующем руководстве описано, как включить телеметрию для мониторинга кластеров.