Kubernetes: qué es y todo lo que no puedes no saber sobre eso

Por qué elegir Kubernetes

IEn este artículo hablamos de Kubernetes, la plataforma open source que permite a todos los quienes la utilizan, gestionar las cargas de trabajo y los servicios contenedorizados.

Su nombre proviene del griego y significa “piloto” o “timonel”: esto nos explica cuánto esta herramienta es útil para gestionar las cargas de trabajo y la gestión automática de los contenedores. Sus características principales, como la vasta variedad de funcionalidades y la portabilidad entre los diferentes proveedores en la nube, han contribuido a su difusión y su uso por los desarrolladores de todo el mundo.

(más…)

Cómo funciona Repository Docker

Acercándote a Docker, puede que hayas escuchado del Docker Repository y te hayas preguntado de qué se trate. Ponte cómodo porque en esta guía te explicaremos todo en detalle.

Un Docker repository es un contenedor que contiene una o más Docker Image relativas a un software o un proyecto. ¿Por qué más que una Docker image si el software es siempre el mismo? Porque para un software podemos tener más que una versión.

Cada vez que el desarrollador del software lanza una nueva versión, crea una nueva Docker image, con el mismo nombre, pero con una versión diferente y luego publica la imagen en el mismo repository.

(más…)

Cómo instalar docker en Windows

Windows es probablemente el sistema operativo que requiere más atención en fase de instalación de Docker. De hecho, hay algunos requisitos previos que es necesario tener en cuenta.

 

Versiones de Windows compatibles

Antes de instalar Docker para Windows, asegúrate que tengas una versión de Windows compatible: hoy en día, las versiones soportadas son: Windows 10 64-bit: Home, Pro, Enterprise, o Education, versión 1903 (Build 18362 o superior).

Windows Subsystem para Linux

Como descrito en la documentación oficial de Docker, antes de instalar Docker para Windows es necesario instalar el «Windows Subsystem para Linux».

(más…)

Cómo funciona Docker: estructura y funcionamiento

Docker se ha ganado un lugar importante en la actividad diaria de los desarrolladores a lo largo de los últimos años. Vamos a hacer un resumen de esta herramienta para comprender cómo funciona Docker entre bastidores.

Caracterà­sticas de Docker

Una de las funciones más importantes que ofrece Docker es el tiempo de inicio instantáneo. Un contenedor Docker puede iniciarse en una fracción mà­nima de tiempo. Una operación muy rápida que nada tiene que ver con los minutos necesarios para iniciar una máquina virtual.

Docker utiliza las funciones del kernel de Linux para arrancar e interactuar con los contenedores. Debido a esta dependencia del kernel de Linux, cuando Docker se ejecuta en otros sistemas como MacOs, se inicia un nivel adicional de virtualización que normalmente está «enmascarado» por Docker para Mac (como usuario no notarás ninguna diferencia, salvo en términos de velocidad).

¿Qué es la virtualización?

Docker es una herramienta que se utiliza para ejecutar contenedores: los contenedores son similares a las máquinas virtuales, por lo tanto simulan una máquina que se ejecuta dentro de tu computador real. Si nunca has utilizado VirtualBox o VMware, por ejemplo, es posible que estés familiarizado con las máquinas virtuales que se utilizan para ejecutar Windows dentro de un Mac.

Una máquina virtual simula todas las partes de un computador real, incluidos la pantalla y el disco duro, que en el computador real (a menudo denominado host) son solo un gran y único archivo (llamado disco duro virtual). En una máquina virtual (o VM) que ejecuta Windows, el disco duro virtual contiene todo el código del sistema operativo Windows que puede tener un tamaño de varios gigabytes.

Windows en la VM no sabe que se está ejecutando dentro de una simulación ni básicamente dentro de un computador real, simplemente «cree» que él mismo es el sistema operativo principal. Para entendernos, Docker, al igual que VirtualBox, «virtualiza» un sistema operativo dentro de un sistema operativo host.

¿Cuál es la diferencia entre una VM y un contenedor?

Utilizar una máquina virtual puede resultar desafiante para un procesador. En el ejemplo anterior, el host de Mac no solo realiza todas las tareas en segundo plano de Mac OS, sino que también realiza todas las tareas en segundo plano de Windows, las cuales constituyen un programa pesado para el host.

El sistema operativo host tiene control sobre la potencia de procesamiento que puede entregar a un programa, y es precisamente por esta razón que las máquinas virtuales suelen funcionar con mucha lentitud.
Por este motivo, puede resultar especialmente agotador ejecutar múltiples VM de forma simultánea, ya que esto significarà­a pedirle a un computador que ejecute varios sistemas operativos al mismo tiempo mientras se mantienen gigantescos discos duros virtuales que contienen diferentes sistemas operativos.

La ejecución de varias instancias del mismo sistema operativo suele ser redundante e innecesaria, además de poner en riesgo la ejecución de un sistema operativo virtualizado.

Por otro lado, los contenedores comparten recursos redundantes, como algunos archivos del sistema operativo de grandes dimensiones, y los recursos de hardware se asignan dinámicamente en función de las necesidades de cada contenedor en ese momento.

cómo funciona Docker

Conclusión

Los contenedores Docker resultan muy útiles para crear entornos aislados en los que ejecutar programas separados sin que interfieran entre sà­, de hecho, facilitan la actividad del desarrollador que trabajará en un entorno aislado sin interferir con la configuración del host.

Si deseas obtener más información sobre Docker, puedes leer «How to get started with Docker» para descubrir cómo escribir un archivo Docker, crear imágenes personalizadas y comprender cómo utilizar Docker Compose para organizar diferentes contenedores Docker.

Cómo utilizar Docker Compose

Docker Compose es una de las herramientas más útiles para desarrolladores y administradores de sistemas. De hecho, la mayorà­a de los puestos de trabajo de TI requieren conocimientos de Docker y Docker Compose. No cabe duda de que saber utilizar estas tecnologà­as supondrá una enorme ventaja para el desarrollo de tu carrera.

¿Qué es Docker Compose?

En pocas palabras, Docker Compose es una herramienta que te permite administrar varios contenedores Docker. ¿Recuerdas los microservicios, es decir, el concepto de subdividir una aplicación web en diferentes servicios? Pues bien, estos servicios se ejecutarán en contenedores individuales que deben administrarse y habilitarse para que puedan comunicarse entre sà­. Docker Compose permite hacer precisamente eso. (más…)

Cómo crear un contenedor con Docker

Continuemos con nuestras guà­as de Docker. Hoy veremos en detalle un tema esencial para todos aquellos que se dedican al desarrollo web: el contenedor Docker.

Un contenedor es la instancia en ejecución de una aplicación en un entorno aislado al que se le asignan recursos de forma dinámica para la ejecución. El contenedor contiene en su interior la aplicación a ejecutar y todo lo que necesita: tiempos de ejecución, librerà­as, configuración, etc.

¿Cuál es la diferencia entre imagen y contenedor?

La imagen Docker es un paquete estático en el que se empaquetan todos los recursos necesarios para ejecutar una aplicación. (más…)

Cómo crear un entorno Docker óptimo

Para desarrollar software es necesario disponer de un entorno local con todos los servicios disponibles para la correcta ejecución de la aplicación que se está desarrollando.

Por ejemplo, si se está desarrollando una aplicación web con Symfony, será necesario disponer de un servidor web como Apache o Nginx, un intérprete de PHP y probablemente una base de datos en la que guardar la información, como por ejemplo, Postgre o MySQL. (más…)