Kubernetes Cloud: servicios en la nube para Kubernetes, mini guía práctica

Kubernetes Cloud: vamos a observar de cerca Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) y Servicio Azure Kubernetes (AKS)

Estos servicios son denominados “managed”. Qué se entiende por “managed”. Básicamente, quien sube los archivos de configuración de un servidor en Kubernetes, puede beneficiarse del aprovisionamiento de toda la arquitectura desde el lado servidor realizada por Kubernetes, gracias al trabajo de estos proveedores. 

Vamos a verlos desde vicino para comprender cuánto pueden ser útiles para quien quiere utilizar Kubernetes al nivel más alto. 

Amazon Elastic Kubernetes Service (EKS)

Amazon Elastic Kubernetes Service es un servicio relativamente nuevo; lanzado en 2018, en los últimos años ha sido protagonista de un crecimiento constante, masivo y a veces imparable.

Con EKS es posible lanzar, ejecutar y redimensionar las aplicaciones Kubernetes de la nube AWS o localmente. EKS se basa en Kubernetes Upstream, de hecho este servicio está disponible en más que una AWS Regions, o sea bases de datos repartidas en todo el mundo. 

EKS incluye algunas opciones de seguridad y encriptación integradas, así como la automatización de las actividades de gestión clave de Kubernetes como la aplicación de parche, el aprovisionamiento de los nódulos y las varias actualizaciones como la actualización automática y la integración con CloudWatch para la registración, CloudTrail para el control y IAM para las autorizaciones de acceso.   

Más recientemente AWS ha también introducido una nueva distribución de K8s open source, se llama EKS Distro y es una nueva opción de distribución para Amazon EKS que permite crear y gestionar grupos Kubernetes en su infraestructura, incluyendo también las máquinas virtuales. 

Google Kubernetes Engine (GKE)

Google Kubernetes Engine es el primer servicio en la nube Kubernetes “managed” que supo imponerse en el mercado. Estamos hablando de un entorno gestionado por la distribución y la gestión de las aplicaciones contenerizadas en una infraestructura Google segura y flexible. 

GKE hoy en día se considera una de las plataformas Kubernetes más avanzadas disponibles en el mercado. Proyectado inicialmente para el uso de Google Cloud, puede ser distribuido en entornos híbridos y locales sin distinción. GKE ha simplificado también la creación de los grupos: no por casualidad, la herramienta ofrece algunas funcionalidades avanzadas de gestión de los grupos, entre otras el equilibrio de la carga, la escalabilidad automática, algunas actualizaciones automáticas como la reparación automática del servidor, la registración y el seguimiento. 

GKE è cons

Azure Kubernetes Service (AKS)

Azure Kubernetes Service está llegando a ser, poco a poco, la aplicación más utilizada por los usuarios Kubernetes. Como con GKE y EKS, AKS puede ofrecer a sus clientes un entorno K8s upstream gestionado con actualizaciones automáticas incluyendo el seguimiento de los grupos para simplificar la distribución y la gestión de las operaciones de Kubernetes, AKS ofrece diferentes modalidades de ejecución del aprovisionamiento de un grupo: consola Web, línea de comandos, Azure Resource Manager, Terrafrom y mucho más. 

Tenéis que saber que el servicio Azure Kubernetes (precedentemente conocido como ACS – Azure Container Service) nació como plataforma independiente del orquestador que soporta Kubernetes. Por fin, en 2017 Microsoft decidió ofrecer servicios de gestión Kubernetes y, como consecuencia, evitar ACS manteniendo su “yuxtaposición” a Kubernetes gracias a AKS.

Cómo funciona Kubernetes: funcionamiento y estructura

Cómo funciona Kubernetes: mini guía para entender el funcionamiento de una de las herramientas más importantes para un desarrollador de hoy

¿Cómo funciona Kubernetes? Lo vamos a ver en esta mini guía, teniendo siempre en cuenta que Kubernetes es una herramienta de gran relevancia para un desarrollador que quiere crecer y que realmente cree en su profesión. 

Empezamos con la definición de qué es Kubernetes puesto que estamos hablando de una plataforma de orquestación para contenedores open source, diseñada para la ejecución de aplicaciones y servicios distribuidos en gran escala. 

Vale, dicho esto, que significa todo y nada, vamos a ver cómo funciona Kubernetes y cuáles son las funcionalidades principales de este instrumento Devops que, más que otros, hoy completa de manera significativa las habilidades de un desarrollador.

(más…)

Docker vs Kubernetes: vamos a ver en qué se diferencian

Docker vs Kubernetes: vamos a ver en qué se diferencian y por qué a veces nos confundimos

A veces nos preguntamos si es mejor utilizar Docker o Kubernetes, como si debiéramos elegir entre uno y el otro. Sería como hacer una comparación entre las manzanas y las tartas. Si tú también te lo has preguntado, no te preocupes: es un malentendido muy común.

(más…)

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.