Compartir a través de


Portabilidad de contenedores

Se aplica a: Windows Server, versión 23H2

La portabilidad es una característica del canal anual de Windows Server para contenedores. La portabilidad simplifica el proceso de actualización, lo que le ayuda a aprovechar al máximo la flexibilidad mejorada y la compatibilidad que ofrecen los contenedores. En este artículo se proporciona una explicación detallada de cómo se optimiza la portabilidad de imágenes de contenedor para hosts de contenedores de canal anual.

Canal anual de Windows Server para contenedores es una edición de Windows Server diseñada para las implementaciones de Windows Server centradas en contenedores y Azure Kubernetes Service para mejorar la eficacia y proporcionar portabilidad optimizada para contenedores de Windows y Linux. Para más información sobre el canal anual para contenedores en Windows Server, vea nuestro Anuncio de TechCommunity.

Funcionamiento de la portabilidad

Windows usa un kernel modular donde los componentes suelen estar estrechamente enlazados entre modo de usuario y modo kernel. Los componentes estrechamente enlazados son interfaces gráficas útiles que se sitúan encima de los controladores en modo kernel, o bien optimizan el rendimiento al reducir los cambios de contexto de modo kernel a modo usuario. Sin embargo, presenta un desafío para los contenedores. La portabilidad permite a los contenedores que se ejecutan en modo de usuario ejecutar cargas de trabajo con una versión de imagen de contenedor diferente a la versión del sistema operativo host.

Sin portabilidad, los usuarios solo podían ejecutar cargas de trabajo con versiones coincidentes de imagen y host. Por ejemplo, un usuario que ejecuta un host de Windows Server 2022 no pudo ejecutar contenedores aislados de procesos de Windows Server 2019. El control de versiones entre el host y la imagen del contenedor representaba un problema significativo en el uso de contenedores de Windows, haciendo que la actualización a versiones más recientes de un host de contenedor sea un desafío. Por ejemplo, Windows Server 2022 LTSC requería que todas las imágenes de infraestructura y aplicación se actualizaran a la versión más reciente al mismo tiempo que se actualizaba el servidor host.

Interfaz binaria de la aplicación

La interfaz binaria de aplicaciones, o ABI, permite que varios lenguajes de programación interactúen con interfaces de modo de usuario y kernel. La interacción del código de cliente con un objeto en tiempo de ejecución se produce en el nivel más bajo, con construcciones de lenguaje cliente traducidas en llamadas a la ABI del objeto. La portabilidad de los contenedores de Windows presenta una ABI estable para la interacción entre el usuario y el kernel. Esta ABI estable desacopla los componentes de usuario y kernel del sistema, y ofrece la capacidad de actualizar por separado los elementos de kernel y usuario del sistema.

Los contenedores pueden ejecutar todos los archivos binarios en modo de usuario desde su capa base, excepto la capa ABI.

En el diagrama siguiente se muestra la comunicación entre los componentes en modo de usuario y en modo kernel.

Un diagrama que muestra el límite de ABI de estabilización. Los procesos y servicios de host, así como los procesos y servicios de contenedor, usan esta capa abstracta para comunicarse con el kernel compartido subyacente.

¿Qué versiones puedo usar?

Las imágenes de contenedor de Nano Server, Server Core y Windows Server solo están disponibles a través del canal de mantenimiento de Long-Term para contenedores que ejecutan Windows Server 2019 o posterior. Para más información sobre las imágenes de contenedores de Windows Server admitidas, vea Ciclos de vida de mantenimiento de imágenes base.

Un host de contenedor de Windows Server, versión 23H2, solo admite la imagen de contenedor del canal de mantenimiento a largo plazo (LTSC) de Windows Server 2022.

Azure Kubernetes Service admite actualmente Windows Server 2019 y hosts posteriores. Canal anual de Windows Server para contenedores es otra opción de sistema operativo de contenedor que Microsoft ofrece junto con Kubernetes 1.28. Puede crear nuevos grupos de nodos en función del canal anual y seguir implementando las imágenes de contenedor de Windows Server 2022 en esos nodos. Microsoft actualiza automáticamente la versión del canal anual y las nuevas versiones de Kubernetes de forma anual. Sin embargo, también es una buena idea seguir las últimas versiones de LTSC para asegurarse de que los contenedores están actualizados.

Nota

Aunque las versiones anteriores de imágenes de contenedor se pueden ejecutar en el sistema operativo host más reciente, los sistemas operativos de imágenes de contenedor más recientes no se pueden ejecutar en el sistema operativo host anterior.