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


Руководство по переносу узлов в Azure Linux

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

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

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

Необходимые компоненты

  • В предыдущих руководствах вы создали и развернули узел контейнера Azure Linux для кластера AKS. Чтобы завершить работу с этим руководством, необходимо добавить пул узлов Linux Azure в существующий кластер. Если вы не сделали этого шага и хотите продолжить, начните с руководства 2. Добавьте пул узлов Linux Azure в существующий кластер AKS.

    Примечание.

    При добавлении нового пула узлов Linux Azure необходимо добавить хотя бы один как --mode System. В противном случае AKS не позволит удалить существующий пул узлов.

  • Вам нужна последняя версия Azure CLI. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

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

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

    az aks nodepool add --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --mode System --os-sku AzureLinux
    
  2. Удалите существующие узлы с помощью az aks nodepool delete команды.

    az aks nodepool delete --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name>
    

Миграция SKU ОС на месте

Теперь вы можете перенести существующие пулы узлов Ubuntu в Azure Linux, изменив номер SKU ОС пула узлов, который развертывает кластер с помощью стандартного процесса обновления образа узла. Эта новая функция не требует создания пулов узлов.

Ограничения

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

  • Функция миграции SKU ОС недоступна через PowerShell или портал Azure.
  • Функция миграции SKU ОС не может переименовать существующие пулы узлов.
  • Ubuntu и Azure Linux являются единственными поддерживаемыми целевыми объектами миграции SKU ОС Linux.
  • SKU ОС Ubuntu с UseGPUDedicatedVHD поддержкой не может выполнить миграцию SKU ОС.
  • SKU ОС Ubuntu с поддержкой CVM 20.04 не может выполнить миграцию SKU ОС.
  • Пулы узлов с поддержкой Kata не могут выполнить миграцию SKU ОС.
  • Миграция SKU ОС Windows не поддерживается.
  • Миграция SKU ОС с Mariner на Azure Linux поддерживается, но откат к Mariner не поддерживается.

Необходимые компоненты

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

Перенос SKU ОС пула узлов Ubuntu

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

    az aks nodepool update --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --os-sku AzureLinux
    

    Примечание.

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

Проверка миграции SKU ОС

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

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

Совет

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

Запуск миграции SKU ОС в рабочих кластерах

  1. Обновите существующие шаблоны, чтобы задать OSSKU=AzureLinux. В шаблонах ARM используется "OSSKU: "AzureLinux" в agentPoolProfile разделе. В Bicep используется osSku: "AzureLinux" в agentPoolProfile разделе. Наконец, для Terraform используется "os_sku = "AzureLinux" в default_node_pool разделе. Убедитесь, что apiVersion задано 2023-07-01 значение или более поздней версии.
  2. Повторно разверните шаблон ARM, Bicep или Terraform для кластера, чтобы применить новый OSSKU параметр. Во время этого развертывания кластер ведет себя так, как будто он выполняет обновление образа узла. В кластере падает емкость, а затем перезагружает существующие узлы по одному в последний образ AKS из нового номера SKU ОС.

Откат

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

Примечание.

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

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

    az aks nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --os-sku Ubuntu
    

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

В этом руководстве вы перенесли существующие узлы в Azure Linux с помощью одного из следующих методов:

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

В следующем руководстве описано, как включить телеметрию для мониторинга кластеров.