Часто задаваемые вопросы о Windows Server в AKS

В этой статье приведены ответы на некоторые из наиболее распространенных вопросов об использовании контейнеров Windows Server в Службе Azure Kubernetes (AKS).

Почему не удается создать пулы узлов Windows Server 2019?

Windows Server 2019 не поддерживается в Kubernetes версии 1.33 и выше. Используйте поддерживаемую версию Windows Server, например Windows Server 2025 или Windows Server 2022.

Почему не удается обновить пулы узлов Windows Server 2019 до Kubernetes версии 1.33?

Windows Server 2019 не поддерживается в Kubernetes версии 1.33 и выше. Используйте поддерживаемую версию Windows Server, например Windows Server 2025 или Windows Server 2022.

Какие диски поддерживаются для Windows?

Azure Disks и Файлы Azure являются поддерживаемыми типами томов и используются в контейнере Windows Server как тома NTFS.

Поддерживает ли Windows виртуальные машины поколения 2 (виртуальные машины)?

Виртуальные машины поколения 2 поддерживаются в Windows начиная с Windows Server 2022. Виртуальные машины поколения 2 по умолчанию используются в Windows Server 2025.

См. сведения о поддержке 2-го поколения виртуальных машин в Azure.

Как установить обновления на мои узлы под управлением Windows?

Чтобы получить последние исправления для узлов Windows, можно либо обновить пул узлов либо обновить образ узла.

Поддерживается ли сохранение исходного IP-адреса клиента?

В настоящее время сохранение IP-адресов источника клиента не поддерживается узлами Windows.

Можно ли изменить максимальное количество pod'ов на одном узле?

Да. Дополнительные сведения см. в разделе Максимальное количество подов.

Каково время ожидания по умолчанию для протокола управления передачей (TCP) в ОС Windows?

Время ожидания TCP по умолчанию в ОС Windows составляет четыре минуты. Это значение не настраивается. Если приложение использует более длительное время ожидания, TCP-подключения между различными контейнерами в одном узле закрываются через четыре минуты.

Почему при попытке создания нового пула агентов Windows появляется сообщение об ошибке?

Если вы создали кластер до февраля 2020 г. и не выполнили никаких операций обновления, кластер по-прежнему использует старый образ Windows. Может появиться ошибка, похожая на следующий пример:

"Следующий список изображений, на которые ссылается шаблон развертывания, не найден: Publisher: MicrosoftWindowsServer, Offer: WindowsServer, Sku: 2019-datacenter-core-smalldisk-2004, version: latest. Инструкции по поиску доступных образов см. в статье Поиск и использование образов виртуальных машин Azure Marketplace с помощью Azure PowerShell.

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

  1. Обновите управляющую плоскость кластера, при этом будут обновлены предложение и издатель образа.
  2. Создайте новые пулы агентов Windows.
  3. Переместите pod Windows из существующих пулов агентов Windows в новые пулы агентов Windows.
  4. Удалите старые пулы агентов Windows.

Почему при попытке развернуть модули pod Windows возникает ошибка?

Если указать в --max-pods значение, меньшее, чем число pod’ов, которые вы хотите создать, может возникнуть ошибка No available addresses.

Чтобы устранить эту ошибку, используйте команду az aks nodepool add с достаточно высоким значением --max-pods. Например:

az aks nodepool add \
    --cluster-name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP \
    --name $NODEPOOL_NAME \
    --max-pods 3

Дополнительные сведения см. в --max-pods документации.

Почему на узле виртуальной машины есть неожиданный пользователь с именем SSHD?

AKS добавляет пользователя с именем sshd при установке службы OpenSSH. Этот пользователь не является вредоносным. Мы рекомендуем клиентам обновить оповещения так, чтобы они игнорировали эту неожиданную учетную запись пользователя.

Как выполнить смену субъекта-службы для моего пула узлов Windows?

Пулы узлов Windows не поддерживают ротацию service principal. Чтобы обновить субъект-службу, создайте новый пул узлов Windows и перенесите поды из старого пула в новый. После переноса ваших подов в новый пул удалите старый пул узлов.

Вместо субъектов-служб можно использовать управляемые удостоверения. Дополнительные сведения см. в статье Об использовании управляемых удостоверений в AKS.

Как изменить пароль администратора для узлов Windows Server в моем кластере?

Чтобы изменить пароль администратора с помощью Azure CLI, используйте az aks update команду с параметром --admin-password . Например:

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --admin-password <new-password>

Чтобы изменить пароль с помощью Azure PowerShell, используйте командлет Set-AzAksCluster с параметром -AdminPassword. Например:

Set-AzAksCluster `
    -ResourceGroupName $RESOURCE_GROUP `
    -Name $CLUSTER_NAME `
    -AdminPassword <new-password>

Помните, что выполнение обновления кластера приводит к перезапуску и обновляет только пулы узлов Windows Server. Сведения о требованиях к паролям Windows Server см. в разделе "Требования к паролям Windows Server".

Сколько пулов узлов можно создать?

Кластеры AKS с пулами узлов Windows имеют те же ограничения ресурсов, что и ограничения по умолчанию, указанные для службы AKS. Дополнительные сведения см. в разделе Квоты, ограничения на размер виртуальных машин и доступность регионов в Azure Kubernetes Service (AKS).

Можно ли запускать Ingress-контроллеры на узлах Windows?

Да, можно запускать контроллеры входящего трафика, поддерживающие контейнеры Windows Server.

Могут ли мои контейнеры Windows Server использовать gMSA?

Да. Поддержка групповой управляемой учетной записи службы (gMSA) стала общедоступной (GA) в AKS для Windows. Дополнительные сведения см. в статье Enable Group Managed Service Accounts (GMSA) для узлов Windows Server в кластере Azure Kubernetes Service (AKS)

Существуют ли ограничения на количество служб в кластере с узлами Windows?

Кластер с узлами Windows может иметь около 500 служб (иногда меньше), прежде чем он столкнется с нехваткой портов. Это ограничение применяется к службе Kubernetes с внешней политикой трафика с значением Cluster.

При настройке внешней политики трафика в службе в качестве кластера трафик проходит дополнительный исходный NAT на узле. Этот процесс также приводит к резервированию порта из пула динамических портов TCPIP. Этот пул портов является ограниченным ресурсом (около 16K портов по умолчанию), и многие активные подключения к службе могут привести к динамическому исчерпанию пула портов, что приводит к снижению подключений.

Если служба Kubernetes настроена так, что для External Traffic Policy задано значение "Local", то при 500 службах проблемы с исчерпанием портов маловероятны.

Как изменить часовой пояс для работающего контейнера?

Чтобы изменить часовой пояс для работающего контейнера Windows Server, подключитесь к работающему контейнеру при помощи сеанса PowerShell. Например:

kubectl exec -it CONTAINER-NAME -- PowerShell

В работающем контейнере задайте часовой пояс при помощи команды Задать часовой пояс. Например:

Set-TimeZone -Id "Russian Standard Time"

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