Earlier this month we the Windows Server Annual Channel for Containers and emphasized a new feature that will be available in the 23H2 release that enables container image portability between Windows Servers 2022 LTSC images and annual channel 23H2 host OS coming this fall. This work has been underway for several years in large part thanks to the consistent and welcome feedback from you, our customers, and partners. This blog will drill into more detail on how this works and how you will be able to take advantage of it this fall when we release the new Windows Server Annual Channel for Containers.
From the first versions of Windows containers, versioning between the host and container image has been a challenge. Some folks may remember that initially, even the monthly updates had to be matched, thankfully we quickly evolved that support to enable cross-matching of the monthly patches. However, version matching remained a substantial pain point of Windows containerization. Specifically, one of the challenges that customers faced was moving to new versions of their container host, such as Windows Server 2022 LTSC, this required ensuring that all infrastructure and application images were updated to the latest version before they could update their hosts.
Historically, Windows architecture has allowed for a more modular and pluggable kernel mode where components often are tightly bound between kernel mode and user mode. This can have its benefits, for example, it enables developers to build great graphical experiences on top of kernel mode drivers or optimize performance by reducing kernel mode to user mode context switches. It also presented a significant challenge for containers where the user mode is delivered with the container image and ideally can differ from that of the host.
To bring portability to Windows containers, we are introducing a stable application binary interface (ABI) for user and kernel interaction. Consequently, this decouples the user and kernel components of the system, granting the capability to separately update and distribute the kernel and user elements of the system.
* Previous container image releases can run on the newer host OS, but newer container image OS cannot run on previous host OS.
Developers and operations teams will be able to opt into the new annual channel by updating their container host to Annual channel version 23H2 without being required to rebuild their Windows Server 2022 LTSC container images. To ensure the reliability of the annual channelOnce the new container host is released, customers can deploy and test their Window Server 2022 LTSC container images to validate. Note Window Server 2022 is the only supported image on the 23H2 host.
Going forward, all container images (Nano Server, Server Core, Windows Server) will continue to be shipped along with Windows Server LTSCs such as Windows Server 2019 and Windows Server 2022. With the Windows Server Annual Channel for Containers, there will be a yearly release of the container host starting later this fall (Version 23H2). With container image portability, customers will be able to upgrade their container hosts at a faster cadence without having to in tandem update their container images, aligning more to the model Linux containers have.
For our AKS customers, currently we support Windows Server 2019 and Windows Server 2022 hosts, the Windows Server Annual Channel for Containers will be an additional OS sku option this fall aligned with the release of Kubernetes 1.28. Customers will be able to create new node-pools based on the annual channel and continue deploying their Windows Server 2022 container images on those nodes. Annually aligned with new Kubernetes releases we will update the annual channel version automatically, much like how Ubuntu updates have been managed. Customers will need to follow the LTSC for image releases so that image OS can be updated appropriately. Through this change we will be able to bring closer alignment to Linux operating methods to our AKS customers.
Bringing portability for Windows containers not only streamlines the upgrade process but also empowers developers to leverage the benefits of container technology with enhanced flexibility and compatibility. Especially for substantial changes such as portability feedback is essential for its completion, and we encourage you to constantly provide feedback to ensure large items remain a priority.