Saltar al contenido principal

Capítulo 1.1 - ¿Qué es Kubernetes?

Objetivos de Aprendizaje​

Al finalizar este capítulo, usted será capaz de:

  • Definir Kubernetes y explicar su función
  • Comprender por qué Kubernetes es necesario
  • Identificar los problemas que resuelve Kubernetes
  • Explicar las ventajas de la orquestación de contenedores

Introducción​

Kubernetes (a menudo abreviado como K8s) es una plataforma open-source de orquestación de contenedores que automatiza el despliegue, el escalado y la gestión de aplicaciones contenerizadas.

¿Por qué "K8s"?​

El "8" representa las 8 letras entre la "K" y la "s" en "Kubernetes":

  • Kubernetes = K + 8 letras + s = K8s

Definición Simple​

Imagine que tiene varias aplicaciones (microservicios) que deben:

Kubernetes hace todo esto automáticamente por usted.


Analogía: El Director de Orquesta​

Así como un director de orquesta coordina a los músicos para crear una sinfonía armoniosa, Kubernetes coordina sus contenedores para que trabajen juntos de manera eficiente y confiable.


Los Desafíos Sin Kubernetes​

Problema 1: Gestión Manual de Contenedores​

Sin orquestación, usted debe gestionar cada contenedor manualmente:

Problemas:

  • Gestión manual tediosa
  • Sin reinicio automático
  • Escalado complejo y manual
  • Sin balanceo de carga integrado
  • Gestión de configuración dispersa
  • Sin service discovery

Problema 2: Complejidad en Producción​

En producción, usted necesita:

¡Sin Kubernetes, cada aspecto debe ser gestionado manualmente!


Las Ventajas Con Kubernetes​

Solución Completa​

Características Principales​

1. Orquestación Automática​

Kubernetes gestiona automáticamente:

  • El despliegue de sus contenedores
  • El reinicio en caso de fallo
  • La distribución en las máquinas disponibles
  • El ciclo de vida completo de las aplicaciones

2. Escalado (Scaling)​

  • Aumento/reducción automática del número de instancias
  • Adaptación a la carga de trabajo
  • Optimización del uso de recursos

3. Auto-curación (Self-Healing)​

  • Reinicio automático de los contenedores que fallan
  • Reemplazo de contenedores defectuosos
  • Redistribución en caso de fallo de máquina

4. Descubrimiento de Servicios​

  • Comunicación automática entre servicios
  • Balanceo de carga integrado
  • Gestión interna de DNS

5. Gestión de Configuración​

  • Almacenamiento centralizado de la configuración
  • Gestión de secretos de manera segura
  • Despliegues declarativos (usted describe el estado deseado)

Casos de Uso Típicos​

1. Microservicios​

Kubernetes es ideal para:

  • Aplicaciones compuestas por muchos servicios pequeños
  • Comunicación entre servicios
  • Despliegue independiente de cada servicio

2. Aplicaciones Cloud-Native​

  • Aplicaciones diseñadas para la nube
  • Escalabilidad automática
  • Resiliencia y auto-curación
  • Portabilidad entre entornos

3. DevOps y CI/CD​

  • Despliegues automatizados
  • Rollback fácil en caso de problema
  • Múltiples entornos (dev, staging, prod)

4. Multi-cloud y Hybrid Cloud​

  • Despliegue en múltiples nubes
  • Portabilidad entre entornos
  • Evitar vendor lock-in

Resumen del Capítulo​

En este capítulo, usted ha aprendido:

Kubernetes es una plataforma de orquestación de contenedores
Automatiza el despliegue, el escalado y la gestión de aplicaciones
Resuelve los problemas de gestión manual de contenedores
Ofrece: orquestación, escalado, auto-curación, service discovery
Es ideal para: microservicios, cloud-native, DevOps, multi-cloud


Próximos Pasos​

Ahora que comprende qué es Kubernetes, pasemos a:

Capítulo 1.2: ¿Por qué Kubernetes? (Ventajas detalladas)
Capítulo 1.3: Historia y Evolución


Volver al módulo: Módulo 1 - Introducción a Kubernetes
Siguiente capítulo: Capítulo 1.2 - ¿Por qué Kubernetes?


Capítulo creado el: Diciembre 2024