Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве, часть 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 и удаление существующих пулов узлов
Добавьте новый пул узлов 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
Удалите существующие узлы с помощью
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 среде перед тем как использовать процесс в рабочем кластере.
- Убедитесь, что у ваших модулей 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 ОС на ваших рабочих кластерах
- Обновите существующие шаблоны, чтобы задать
OSSKU=AzureLinux
. В разделеagentPoolProfile
шаблонов ARM используется"OSSKU: "AzureLinux"
. В разделеagentPoolProfile
в Bicep используетсяosSku: "AzureLinux"
. Наконец, для Terraform используется"os_sku = "AzureLinux"
в разделеdefault_node_pool
. Убедитесь, чтоapiVersion
установлено на2023-07-01
или более позднюю версию. - Повторно разверните шаблон ARM, Bicep или Terraform для кластера, чтобы применить новый
OSSKU
параметр. В ходе этого развертывания кластер ведет себя так, как будто происходит обновление образа узла. Ваш кластер увеличивает емкость, а затем перезагружает существующие узлы один за другим в последнюю версию образа AKS с вашего нового SKU операционной системы.
Откат
При возникновении проблем во время миграции SKU ОС можно выполнить откат к предыдущему номеру SKU ОС. Для этого необходимо изменить поле SKU ОС в шаблоне и повторно отправить развертывание, которое активирует другую операцию обновления и восстанавливает пул узлов до предыдущего номера SKU ОС.
Примечание.
Миграция SKU ОС не поддерживает откат к SKU Mariner.
Выполните откат к предыдущей версии SKU вашей операционной системы с помощью команды
az aks nodepool update
. Эта команда обновляет номер SKU ОС для пула узлов из Azure Linux обратно в Ubuntu.az aks nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --os-sku Ubuntu
Следующие шаги
В этом руководстве вы перенесли существующие узлы в Azure Linux с помощью одного из следующих методов:
- Удалите существующие пулы узлов и добавьте новые пулы узлов Azure Linux.
- Внутренняя миграция типа продукта ОС.
В следующем руководстве описано, как включить телеметрию для мониторинга кластеров.