В этой статье приведены ответы на некоторые из наиболее распространенных вопросов об использовании контейнеров Windows Server в Служба Azure Kubernetes (AKS).
Какие диски поддерживаются для Windows?
Диски Azure и Файлы Azure являются поддерживаемыми типами томов и получают доступ к томам новой файловой системы технологии (NTFS) в контейнере Windows Server.
Поддерживает ли Windows виртуальные машины поколения 2 (виртуальные машины)?
Виртуальные машины поколения 2 поддерживаются только в Windows для WS2022.
См. сведения о поддержке 2-го поколения виртуальных машин в Azure.
Как поставить заплаты для моих узлов Windows?
Чтобы получить последние исправления для узлов Windows, можно либо обновить пул узлов либо обновить образ узла.
Поддерживается ли сохранение исходного IP-адреса клиента?
В настоящее время сохранение IP-адресов источника клиента не поддерживается узлами Windows.
Можно ли изменить максимальное число модулей pod на узел?
Да. Дополнительные сведения см. в разделе "Максимальное количество модулей 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 см. в статье "Поиск доступных образов".
Чтобы устранить эту проблему, необходимо выполнить следующие действия.
- Обновите плоскость управления кластером, которая обновляет предложение образа и издателя.
- Создайте новые пулы агентов Windows.
- Переместите pod Windows из существующих пулов агентов Windows в новые пулы агентов Windows.
- Удалите старые пулы агентов 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 не поддерживают смену субъекта-службы. Чтобы обновить субъект-службу, создайте новый пул узлов Windows и перенесите pod из старого пула в новый. После переноса модулей pod в новый пул удалите старый пул узлов.
Вместо субъектов-служб можно использовать управляемые удостоверения. Дополнительные сведения см. в статье Об использовании управляемых удостоверений в 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 (AKS).
Можно ли запускать контроллеры объекта ingress на узлах Windows?
Да, можно запускать контроллеры входящего трафика, поддерживающие контейнеры Windows Server.
Могут ли мои контейнеры Windows Server использовать gMSA?
Да. Поддержка групповой учетной записи службы (gMSA) общедоступна для Windows в AKS. Дополнительные сведения см. в статье Enable Group Managed Service Accounts (GMSA) (GMSA) для узлов Windows Server в кластере Служба Azure Kubernetes (AKS)
Существуют ли ограничения на количество служб в кластере с узлами Windows?
Кластер с узлами Windows может иметь около 500 служб (иногда меньше), прежде чем он столкнется с нехваткой портов. Это ограничение применяется к службе Kubernetes с внешней политикой трафика с значением Cluster.
При настройке внешней политики трафика в службе в качестве кластера трафик проходит дополнительный исходный NAT на узле. Этот процесс также приводит к резервированию порта из пула динамических портов TCPIP. Этот пул портов является ограниченным ресурсом (около 16K портов по умолчанию), и многие активные подключения к службе могут привести к динамическому исчерпанию пула портов, что приводит к снижению подключений.
Если служба Kubernetes настроена с помощью политики внешнего трафика, то проблемы с исчерпанием портов, скорее всего, не возникают в 500 службах.
Как изменить часовой пояс для работающего контейнера?
Чтобы изменить часовой пояс для работающего контейнера Windows Server, подключитесь к работающему контейнеру при помощи сеанса PowerShell. Например:
kubectl exec -it CONTAINER-NAME -- powershell
В работающем контейнере задайте часовой пояс при помощи команды Задать часовой пояс. Например:
Set-TimeZone -Id "Russian Standard Time"
Чтобы просмотреть текущий часовой пояс работающего контейнера или список доступных часовых поясов, используйте команду Определить часовой пояс.