Новые возможности контейнеров Windows в Windows Server 2022

Область применения: Windows Server 2022

В этой статье описаны некоторые новые функции при использовании контейнеров Windows с Windows Server 2022. В основе операционной системы Windows Server 2022 лежит надежная платформа Windows Server 2019. Она предоставляет множество инновационных возможностей для работы с тремя основными областями: безопасность, гибридная интеграция и управление Azure, а также платформа приложений.

Улучшения платформы

Уменьшение размера образа Server Core

Размер изображения важен при использовании контейнеров, потому что при развертывании контейнерного приложения вы хотите, чтобы оно запускалось быстро. Перед запуском контейнера слои образа контейнера должны быть загружены и извлечены на хост контейнера. В Windows Server 2022 размер образа Server Core уменьшен, что позволяет контейнеру запускаться быстрее, чем в предыдущих версиях Server Core.

В Windows Server 2022 слой RTM образа контейнера Server Core в период действия общедоступной версии занимает 2,76 ГБ в несжатом виде на диске. По сравнению со слоем RTM Windows Server 2019 в период действия общедоступной версии, который занимает 3,47 ГБ в несжатом виде на диске, экономия места на диске для этого уровня составляет 33 %. Хотя не следует ожидать, что общий размер образа уменьшится на 33 %, меньший размер слоя RTM обычно означает, что общий размер образа в целом будет меньше.

Примечание

Помните, что базовые образы контейнеров Windows поставляются в виде двух слоев: слоя RTM и слоя исправлений, содержащего последние исправления безопасности для библиотек ОС и двоичных файлов, который накладывается на слой RTM. Размер слоя исправлений меняется в рамках цикла поддержки образа контейнера, увеличиваясь или уменьшаясь от месяца к месяцу в зависимости от дельты изменений в двоичных файлах. Когда базовый образ контейнера Windows извлекается на новый узел, необходимо извлекать оба слоя.

Более длительный цикл поддержки для всех образов контейнеров Windows

Пять лет основной поддержки и еще пять лет расширенной поддержки теперь предлагаются для всех образов Windows Server 2022: Server Core, Nano Server и недавно анонсированного образа сервера. Этот более длительный цикл поддержки гарантирует, что у вас будет время для внедрения, использования, обновления или миграции, когда это необходимо для вашей организации. Дополнительные сведения см. в разделах Жизненные циклы базовых образов контейнеров Windows и Жизненные циклы Windows Server 2022.

Виртуализированный часовой пояс

В Windows Server 2022 контейнеры Windows поддерживают возможность поддерживать виртуальную конфигурацию часового пояса отдельно от хоста. Все конфигурации, которые традиционно использовались для часового пояса узла, были виртуализированы и теперь предоставляют экземпляр для каждого контейнера. Для настройки часового пояса контейнера можно использовать служебную программу tzutil или командлет Set-TimeZone Powershell. Чтобы узнать больше, см. раздел Виртуализированный часовой пояс.

Улучшения масштабируемости для поддержки оверлейных сетей

Windows Server 2022 объединяет несколько улучшений производительности и масштабирования, которые были сделаны в последних четырех выпусках Semi-Annual Channel (SAC) Windows Server (но не были перенесены в Windows Server 2019). Области улучшения перечислены ниже.

  • Проблема нехватки портов при использовании сотен сервисов и модулей Kubernetes на узле теперь решена.
  • Повышена производительность пересылки пакетов в виртуальном коммутаторе Hyper-V (vSwitch).
  • Повышенная надежность перезапусков сетевого интерфейса контейнеров (CNI) в Kubernetes.
  • Улучшения в плоскости управления Host Networking Service (HNS) и в плоскости данных, используемой контейнерами Windows Server и сетями Kubernetes.

Дополнительные сведения об улучшениях производительности и масштабируемости для поддержки оверлейных сетей см. в разделе Kubernetes Overlay Networking для Windows.

Прямая обратная маршрутизация сервера для наложения и сетей l2bridge

Прямой возврат сервера (DSR) — это реализация асимметричного распределения сетевой нагрузки в системах с балансировкой нагрузки, что означает, что трафик запросов и ответов использует разные сетевые пути. Использование разных сетевых путей помогает избежать лишних прыжков и снижает задержку, что не только ускоряет время ответа между клиентом и службой, но также снимает некоторую дополнительную нагрузку с балансировщика нагрузки. DSR прозрачно обеспечивает повышенную производительность сети для приложений практически без изменений инфраструктуры.

Чтобы узнать больше, см. DSR в статье Введение в поддержку Windows в Kubernetes.

Совместимость приложений

Улучшения gMSA

Вы можете использовать групповые управляемые учетные записи служб (gMSA) с контейнерами Windows для облегчения аутентификации Active Directory (AD). При появлении в Windows Server 2019 gMSA требовала присоединения узла контейнера к домену для получения учетных данных gMSA из Active Directory. В Windows Server 2022 gMSA для контейнеров с узлом, не присоединенным к домену, использует переносимое удостоверение пользователя вместо удостоверения узла для получения учетных данных gMSA, и поэтому ручное присоединение рабочих узлов Windows к домену больше не требуется. Личность пользователя сохраняется в Kubernetes в секрете. gMSA для контейнеров с хостом, не присоединенным к домену, обеспечивает гибкость создания контейнеров с gMSA без присоединения хост-узла к домену.

Чтобы узнать больше об улучшениях gMSA, см. раздел Создание gMSA для контейнеров Windows.

Поддержка протокола IPv6

Первый шаг к полной поддержке двойного стека IPv6 был реализован для Kubernetes в Windows. Двойной стек IPv6 поддерживается для сетей на базе L2Bridge на платформе. IPv6 зависит от CNI, используемого в Kubernetes, и также требуется Kubernetes версии 1.20 для включения сквозной поддержки IPv6. Дополнительные сведения см. в разделе IPv4/IPv6 в статье "Введение в поддержку Windows в Kubernetes".

Улучшенный интерфейс Kubernetes

Поддержка нескольких подсетей для рабочих узлов Windows с помощью Calico для Windows

Сетевая служба хоста (HNS) была улучшена и теперь позволяет использовать более ограниченные подсети (например, подсети с большей длиной префикса), а также несколько подсетей для каждого рабочего узла Windows. Ранее HNS ограничивал конфигурации конечных точек контейнера Kubernetes, чтобы использовать только длину префикса базовой подсети. Первым CNI, использующим эту функцию, является Calico для Windows. Для получения дополнительной информации см. раздел Поддержка нескольких подсетей в сетевой службе узла.

Контейнеры HostProcess для управления узлами

Контейнеры HostProcess — это новый тип контейнера, который запускается непосредственно на хосте и расширяет модель контейнера Windows, чтобы обеспечить более широкий спектр сценариев управления кластером Kubernetes. С помощью контейнеров HostProcess пользователи могут упаковывать и распространять операции управления, требующие доступа к хосту, при этом сохраняя методы управления версиями и развертывания, предоставляемые контейнерами. Это позволяет использовать контейнеры Windows для различных сценариев управления подключаемыми модулями устройств, хранилищем и сетью в Kubernetes.

Контейнеры HostProcess имеют следующие преимущества.

  • Пользователям кластера больше не нужно входить в систему и индивидуально настраивать каждый узел Windows для выполнения административных задач и управления службами Windows.
  • Пользователи могут использовать контейнерную модель для развертывания логики управления на любом количестве кластеров.
  • Контейнеры HostProcess могут быть созданы поверх существующих базовых образов Windows Server 2019 (или более поздних версий), управляться через среду выполнения контейнеров Windows и запускаться от имени любого пользователя, доступного в домене хост-компьютера.
  • Контейнеры HostProcess обеспечивают лучший способ управления узлами Windows в Kubernetes.

Дополнительные сведения см. в разделе Контейнеры Windows HostProcess.

Инструменты контейнера Windows

Улучшения Windows Admin Center

Расширение "Контейнеры" ранее было добавлено в Windows Admin Center, чтобы помочь вам сделать контейнер из существующих веб-приложений на основе ASP.Net из .NET Framework. Вы можете предоставить статическую папку или решение Visual Studio от своего разработчика.

Windows Admin Center включает следующие улучшения.

  • Расширение "Контейнеры" включает добавленную поддержку файлов веб-развертывания, позволяющую извлекать приложение и его конфигурацию с работающего сервера, а затем помещать приложение в контейнер.
  • Вы можете проверить образ локально, а затем отправить его в Реестр контейнеров Azure.
  • Добавлены базовые функции управления для Реестра контейнеров Azure и экземпляра контейнера Azure. Это позволяет создавать и удалять реестры, управлять образами, запускать и останавливать новые экземпляры контейнеров прямо из пользовательского интерфейса Windows Admin Center.

Инструментарий создания контейнеров службы "Миграция приложений Azure"

Служба "Миграция приложений Azure" — это комплексное решение для контейнеризации и перемещения существующих веб-приложений в службу Azure Kubernetes. Пошаговый подход обеспечивает функциональность для оценки существующих веб-серверов, создания образа контейнера, отправки образа в ACR, создания развертывания Kubernetes и, наконец, развертывания его в AKS.

Дополнительные сведения об использовании средства контейнеризации приложений Миграции Azure см. в следующих разделах:

Контейнеризация приложений ASP.NET и их миграция в Службу Azure Kubernetes

Контейнеризация веб-приложений Java и их перенос в Службу Azure Kubernetes