Introducción a Kubernetes Ha sido salvado
Artículo
Introducción a Kubernetes
Gestión de contenedores
Kubernetes (k8s) es una tecnología creada por Google y posteriormente liberada (OpenSource), para la gestión y orquestación de contenedores. Se ha convertido en el estándar de facto de la industria debido a su uso extendido, madurez y falta de alternativas.
¿Qué es un contenedor?
Es un conjunto de elementos que permite la ejecución de una aplicación determinada sobre cualquier sistema operativo. Como una “máquina virtual” solo que a diferencia de estas utilizan el Sistema Operativo del host en lugar de proporcionar el suyo propio.
¿Qué es un orquestador? ¿Qué aporta?
Es un gestor que se va a encargar de manera automática o semiautomática de la infraestructura (contenedores) de nuestras aplicaciones, aportando las siguientes funcionalidades:
- Administración
- Configuración
- Escalabilidad
- Disponibilidad
- Descubrimiento de servicios y balanceo de carga
- Autorreparación
- Despliegues y rollbacks automáticos
- Orquestación del almacenamiento
Elementos de Kubernetes
- Cluster: Conjunto de máquinas físicas o virtuales que son utilizados por Kubernetes
- Pod: la unidad mínima de Kubernetes, puede ser un contenedor o varios
- Node: el servidor ya sea virtual o físico que aloja el sistema de Kubernetes y donde vamos a desplegar nuestros pods
- Deployments: donde se especifican la cantidad de réplicas de pods que tendremos en el sistema.
- Namespaces: agrupaciones de elementos es un espacio de trabajo
- Volumes: el acceso a un sistema de almacenamiento
- Secrets: donde se guarda la información confidencial como usuarios y passwords, para poder acceder a los recursos.
- Service: la abstracción que define un conjunto de pods y la lógica para poder acceder a ellos.
Todos estos elementos se pueden definir en modo texto mediante ficheros con estructura “yaml” o “json”, para facilitar el almacenamiento y versionado mediante repositorios de código fuente y su utilización en las herramientas disponibles para entornos Cloud.

Ejemplo de arquitectura
En próximos artículos podemos detallar el despliegue y la gestión de una aplicación web básica con un servidor NGINX y una base de datos MYSQL.

Jesús Martín García
Jesús es Consultor senior (Jefe de Equipo) en DxD Deloitte con más de 10 años de experiencia en IT. Se incorporó a Deloitte recientemente en Abril de 2018. Su carrera se ha ido enfocando hacia la implantación de metodologías DevOps debido a la alta demanda en estos últimos años. Especialista en gestión de ciclos de vida de aplicaciones software, repositorios de código, herramientas CI/CD y despliegue en entornos Cloud, ayudando a distintos clientes en sus procesos de Transformación Digital.