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


Узлы Windows Server не обновлены до 2-го поколения во время обновления образа узла кластера

В этой статье описывается, как устранить ситуацию, в которой узлы Windows Server не обновляются автоматически с виртуальных машин 1-го поколения до виртуальных машин 2-го поколения при обновлении образа узла кластера в Microsoft Служба Azure Kubernetes (AKS).

Примечание.

Этот сценарий не применяется к виртуальным машинам 2-го поколения на узлах Linux.

Предварительные требования

Симптомы

Существующие узлы Windows Server не обновляются с 1-го поколения до 2-го поколения при обновлении образа узла с помощью одного из следующих методов в Azure CLI:

Причина

Причина 1. Существующие узлы не обновляются автоматически до виртуальных машин 2-го поколения

По проектированию обновление образа узла не поддерживает обновление или обновление существующих узлов. az aks nodepool upgrade Команды az aks upgrade обновляют только образ узла (до более поздней версии образа узла). Эти команды не обновляют соответствующее поколение виртуальных машин.

Причина 2. Обновление кластера до Kubernetes версии 1.25 или более поздней версии обновляет только ОС.

При обновлении кластера до Kubernetes версии 1.25 или более поздней версии обновляется только операционная система (ОС) (до Windows Server 2022). Существующие узлы не затрагиваются. Связанный масштабируемый набор виртуальных машин будет содержать виртуальные машины с той же виртуальной машиной 1-го поколения.

Причина 3. Обновление кластера и создание нового узла с помощью Windows Server 2022 без указания допустимого размера виртуальной машины

После обновления кластера до Kubernetes версии 1.25 или более поздней версии вы укажите Windows Server 2022 в качестве ОС для использования на виртуальных машинах nodepool. Однако виртуальные машины не используют ссылку на образ узла 2-го поколения из-за одной из следующих причин:

  • Размер виртуальной машины не указан, а размер виртуальной машины по умолчанию в регионе не поддерживает виртуальные машины 2-го поколения.

  • Вы указываете размер виртуальной машины только для 1-го поколения.

При обновлении ОС по умолчанию с Windows Server 2019 (Windows2019) до Windows Server 2022 ()Windows2022 существующие узлы не обновляются автоматически до другого поколения виртуальных машин.

Решение

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

Версия обновления кластера Kubernetes Рекомендации по созданию кластера
1.25 или более поздняя версия При запуске команды az aks create для создания кластера задайте --node-vm-size для параметра размер виртуальной машины 2-го поколения.
Более ранняя версия, чем 1.25 При запуске команды az aks create для создания кластера задайте для параметра Windows2022значение параметра и задайте --os-sku --node-vm-size значение параметра размером виртуальной машины 2-го поколения.

Примечание.

Если указать размер виртуальной машины 2-го поколения и операционную ErrorCode_Windows2019NotSupportedWithGen2VM систему в качестве Windows Server 2019, вы получите код ошибки, который сопровождается следующим сообщением об ошибке:

<размер> виртуальной машины — это виртуальная машина только 2-го поколения. Windows2019 не поддерживает виртуальные машины 2-го поколения. Однако можно выбрать размер виртуальной машины 1-го поколения или задать os_sku значение 2022.

Чтобы избежать этой проблемы, при создании кластера выберите один из следующих вариантов:

  • Выберите размер виртуальной машины 1-го поколения для использования вместе с Windows Server 2019.

  • Установите номер SKU операционной системы на Windows Server 2022 для использования вместе с виртуальной машиной 2-го поколения.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.