Cómo ejecutar contenedores de Windows en Kubernetes

El contenedor del sistema operativo, que aísla solo las partes esenciales del sistema operativo que son diferentes, se ha convertido rápidamente en la forma estándar para que las organizaciones construyan y ejecuten aplicaciones. Debido a que las imágenes de contenedores son muy pequeñas, se pueden almacenar, rastrear y versionar como cualquier fragmento de código en el control de versiones. Los programadores pueden intercambiarlos a través de la red como si estuvieran copiando archivos. Debido a la forma en que Linux administra los procesos, prácticamente cualquier sistema Linux moderno puede ejecutar cualquier otra versión de Linux como un contenedor.

Eso simplemente no es así con Windows, donde el sistema operativo, hasta el número de compilación, debe coincidir. Esto significa que actualizar el servidor, o incluso agregar un parche de seguridad, podría impedir que los componentes del contenedor se ejecuten.

Índice de Contenido
  1. Integrando Windows en un contenedor
  2. Kubernetes para Windows
  3. Una mejor solución por ahora

Integrando Windows en un contenedor

La infraestructura de Azure de Microsoft ha admitido Docker, el formato de contenedor predeterminado, desde 2014. Eso significaba ejecutar Linux en la nube de Azure, y no ejecutar realmente un contenedor de Windows. No fue hasta el año pasado que Microsoft ofreció contenedores de Windows en Azure, y eso fue como una "vista previa de tecnología", lo que significa que estaba en versión beta.

Esto no es una gran sorpresa. Con un tamaño de 3.4 millones de archivos, Windows afirma ser el repositorio git más grande del mundo. La base de código de Windows tiene, como máximo, 20 años de antigüedad, ya que Windows XP fue un proyecto de reescritura. Sin embargo, el software todavía proporciona compatibilidad con versiones anteriores a MS-DOS, lanzado en 1981. Por ejemplo, si ingresa el comando `bar` y escribe `cmd `, verá el prompt de comando de MS-DOS blanco sobre negro.

Donde Docker hace posible ejecutar un contenedor en una máquina, es Kubernetes el que se está convirtiendo en la "nube" estándar para ejecutar múltiples contenedores. Los detalles de Kubernetes son bastante simples, en teoría. Inicie un servidor, adjunte CPU, memoria y disco, y permita que Kubernetes lo administre. En la nube pública, aprovisionar hardware es aún más fácil. Simplemente solicite el hardware virtual que necesita, apuntando al contenedor a ejecutar.

Pero, ¿se puede ejecutar Windows en Kubernetes? Como de costumbre, la respuesta es: depende.

El mercado laboral de tecnología en Estados Unidos: cifras y tendencias para 2020

Kubernetes para Windows

El 1 de abril de 2019, los autores de Kubernetes anunciaron el soporte para ejecutar contenedores de Windows. Para ser específicos, ahora, cuando ejecutas Kubernetes, puedes conectarlo a máquinas Windows, que luego pueden convertirse en "nodos", haciendo que parte de su memoria, disco y CPU estén disponibles para ejecutar versiones virtuales ligeras de Windows. La magia de Kubernetes es que nunca necesitas saber realmente dónde está el hardware virtual.

La mala noticia es que tus nodos trabajadores en Kubernetes deben estar ejecutando Windows Server 2019. Los contenedores en ejecución en Kubernetes deben estar ejecutando Windows Server 2019. Puedes ejecutar Kubernetes en Linux o Windows, pero, aun así, Server 2019.

Otra buena noticia que surge de este modelo de emparejamiento de sistemas operativos es una cuestión legal. Debido a que el sistema operativo hijo es el mismo que el padre, ya tienes la licencia. Microsoft no requiere una segunda licencia para las máquinas virtuales. Si alguna vez te preocupaste por llamar a un número gratuito para pagar con tarjeta de crédito y tratar de obtener una serie de 25 caracteres, separados por guiones, para que tu nube funcione, ya no tienes que hacerlo hoy en día. La forma misma en que se construye la licencia hace que eso no sea un problema.

Como mencioné anteriormente, es posible conectar máquinas de Windows Server 2019 a un clúster de Kubernetes. Por supuesto, Microsoft tiene una interfaz fácil para crear, administrar, monitorear y auditar clústeres en Azure. Amazon's Elastic Kubernetes Services también tiene una vista previa para Windows; IBM también tiene Windows en vista previa. Mientras que Amazon no pudo preparar comentarios a tiempo para este artículo, Christophe Rosen, director de programas de IBM para Kubernetes y Openshift, dio una respuesta muy simple: IBM Kubernetes Cloud no admite contenedores de Windows en este momento. La compañía no ve una demanda en el mercado y, sin ella, no tiene planes de agregar ese soporte.

Una mejor solución por ahora

Los contenedores pueden ser llamativos y divertidos, pero para tener algún valor comercial, necesitan hacer algo. El lugar práctico para los contenedores de Windows hoy en día es ejecutar aplicaciones .NET heredadas. Si tienes Windows 10, en cualquier edición, y tienes alguna versión de Visual Studio, puedes crear y ejecutar un contenedor de Windows localmente. Una vez que hayas hecho eso, puedes ejecutar ese contenedor en Azure Service Fabric en este momento, sin tener que crear un clúster de Kubernetes.

Si eres una persona de apuestas, en este momento, el dinero inteligente para los contenedores de Windows está en Azure Service Fabric.

La automatización de pruebas de software: una herramienta crítica para las empresas

Y no te equivoques. Si estás escribiendo o implementando software, eres una persona de apuestas.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo ejecutar contenedores de Windows en Kubernetes , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.