¿Qué es Kubernetes (K8s)?

Actualizado: agosto de 2026

Kubernetes es una plataforma open-source que automatiza el deploy, el escalado y la operación de aplicaciones contenedorizadas en muchas máquinas. Su idea central es declarativa: declaras el estado final deseado — tres réplicas de este contenedor, esta cantidad de memoria, accesible en este puerto — y el sistema trabaja continuamente para que la realidad coincida, reiniciando, reprogramando y escalando sin que nadie se lo pida.

Puntos clave

PreguntaRespuesta
Qué esUn sistema de control que convierte muchas máquinas en un único pool para contenedores
La idea centralDeclara el estado deseado; el clúster reconcilia la realidad con él, para siempre
vs. DockerDocker construye y corre contenedores; Kubernetes orquesta flotas de ellos
Nombre”Timonel” en griego; K8s = K + ocho letras + s
La advertencia honestaPoder a escala de flota, complejidad a escala de flota — muchos equipos no necesitan ninguno de los dos

El manifiesto: cómo le hablas a Kubernetes

Todo es una declaración. Este es un Deployment mínimo y real — anotado en palabras simples:

apiVersion: apps/v1
kind: Deployment              # "mantén N copias de esto corriendo"
metadata:
  name: api
spec:
  replicas: 3                 # el estado deseado: tres pods
  selector:
    matchLabels: { app: api }
  template:                   # lo que contiene cada pod
    metadata:
      labels: { app: api }
    spec:
      containers:
        - name: api
          image: registry.example.com/api:1.4.2
          ports: [{ containerPort: 8080 }]
          resources:
            limits: { memory: "256Mi", cpu: "500m" }
# Aplícalo, mata un pod y mira a Kubernetes resucitarlo. Ese es el producto.

Como contraste — el mismo resultado (un backend desplegado, escalado y con auto-reparación) consumido como servicio, donde el manifiesto, el clúster y la reconciliación a las 3 de la mañana son el YAML de otra persona:

// JavaScript / Node.js — Back4app JS SDK
// The workload the manifest would have described — already running
const status = await Parse.Cloud.run('healthCheck');
console.log(status); // scheduling, scaling, restarts: the platform's job

Dentro de un clúster

Arquitectura de un clúster de KubernetesUn control plane con API server, almacén de estado, scheduler y controllers gestiona los nodos worker; cada nodo corre un agente, un proxy de red y un runtime de contenedores que hospeda los pods.

Nodo worker

Agente + proxy de red

Pods

Nodo worker

Agente + proxy de red

Pods
(contenedores)

Control plane — el cerebro

API server

Almacén de estado

Scheduler

Controllers
(reconcilian deseado vs. real)

Un control plane con API server, almacén de estado, scheduler y controllers gestiona los nodos worker; cada nodo corre un agente, un proxy de red y un runtime de contenedores que hospeda los pods.

El vocabulario, una línea cada uno: un clúster es el sistema completo; un nodo es una máquina; un pod es la unidad desplegable más pequeña (uno o más contenedores que comparten red y almacenamiento); un Deployment gestiona pods replicados con rolling updates y rollbacks; un Service les da a los pods efímeros una dirección estable; un Ingress enruta el tráfico externo hacia adentro; los ConfigMaps y Secrets llevan la configuración; los namespaces particionan un clúster entre equipos. La visión general oficial es el siguiente escalón canónico.

Kubernetes vs. Docker

PreguntaDockerKubernetes
TrabajoConstruir, empaquetar y correr contenedoresOrquestar contenedores entre máquinas
AlcanceUna máquinaUn clúster
UnidadContenedorPod (de contenedores)
EscaladoManualDeclarativo y automático
RelaciónConstruye las imágenesLas corre — vía cualquier runtime OCI estándar

La confusión perenne tiene fecha: desde la v1.24 (2022), Kubernetes eliminó su shim de runtime específico de Docker y habla solo con runtimes de contenedores estándar. Nada se rompió — las imágenes siguen el estándar abierto OCI — pero los roles quedaron nítidos: Docker es el astillero, Kubernetes es la autoridad portuaria. El nombre lo supo siempre: kubernetes es “timonel” en griego — el proyecto fue liberado en junio de 2014, llegó a la 1.0 en 2015 y dio origen a la CNCF, destilando una década de operación de contenedores a escala de flota en un bien común público.

Casos de uso comunes

  • Flotas de microservicios. Decenas de servicios con escalado y deploys independientes — la carga de trabajo que moldeó a Kubernetes.
  • Equipos de plataforma. Construir una plataforma interna sobre un sustrato que corre de forma idéntica en cualquier nube u on-premises.
  • Cargas de gran escala con picos. Jobs por lotes, pipelines de datos, entrenamiento de ML — bin-packing sobre capacidad compartida.
  • Estrategias multi-cloud y de portabilidad. La capa de cómputo de una defensa contra el vendor lock-in — con la salvedad de que los servicios gestionados de alrededor siguen atando.
  • Parques de producción con auto-reparación. Donde “una máquina murió a las 3 de la mañana” debe ser un no-evento y no una alerta que te despierta.

¿Deberías correr Kubernetes? Matriz de decisión

Corre Kubernetes cuando…Sáltatelo cuando…
Muchos servicios, muchos equipos, escalado independienteUna app, un equipo, carga predecible
Un equipo de plataforma es dueño del clúster como productoNadie es dueño de ops a tiempo completo
La portabilidad entre nubes es un requisito duroLa velocidad de lanzamiento es el único requisito
Las cargas están contenedorizadas y tienen forma de flotaLas necesidades de backend son CRUD + auth estándar
Superaste las orquestaciones más simplesUn archivo compose o una plataforma gestionada todavía alcanza

El consenso silencioso de la industria: la mayoría de los equipos que operan Kubernetes está por debajo de la escala en la que se paga. La escalera de alternativas — un host con un archivo compose, un servicio gestionado de contenedores, un PaaS, un BaaS — cubre todo hasta los problemas genuinos de flota, y el Kubernetes gestionado cubre la mayor parte de lo que queda.

Limitaciones y trade-offs

  • La curva de aprendizaje es la sombra del producto. Pods, services, ingress, RBAC, operators, Helm — la fluidez se mide en meses, y el clúster no espera.
  • Superficie operativa. Los upgrades, la rotación de certificados, los plugins de red y la salud del almacén de estado no perdonan; por eso ganaron los control planes gestionados.
  • Sprawl de YAML. La configuración declarativa a escala se convierte en su propia base de código, con sus propias revisiones, bugs y deriva.
  • Orquesta contenedores, no arquitectura. Un sistema mal delimitado sobre Kubernetes es el mismo sistema, ahora distribuido — el clúster amplifica el diseño, bueno o malo.
  • Kubernetes no es un PaaS. Por diseño no trae CI/CD, ni base de datos por defecto, ni servicios a nivel de aplicación — la plataforma de encima la armas tú, que es precisamente el trabajo que las abstracciones más altas venden de vuelta como producto.

Kubernetes en Back4app

Back4app es una plataforma open-source de Backend as a Service (BaaS) que combina base de datos gestionada, APIs REST y GraphQL generadas automáticamente, autenticación, almacenamiento de archivos y funciones serverless con Cloud Code. La relación con Kubernetes es una división honesta del trabajo: lo que la mayoría de los equipos de aplicación realmente quiere de un clúster — servicios de backend desplegados, escalados y con auto-reparación — es exactamente lo que la capa BaaS entrega con cero manifiestos que escribir. Y para las cargas que genuinamente son contenedores, Back4app Containers las corre como servicio gestionado: envía una imagen, obtén orquestación, sin ser dueño del puerto.

Preguntas frecuentes

¿Qué es Kubernetes en términos simples?

Un director de orquesta para contenedores. Declaras lo que debería estar corriendo — esta app, tres copias, esta cantidad de memoria — y Kubernetes hace que la realidad coincida de forma continua: colocando contenedores en las máquinas, reiniciándolos cuando fallan, escalándolos con la carga y enrutando el tráfico hacia las copias sanas. Convierte una flota de máquinas en un único pool programable.

¿Qué significa K8s?

Es un numerónimo: K, luego ocho letras, luego s — el mismo patrón de i18n para internacionalización. El nombre en sí es griego: kubernetes significa timonel o piloto, la persona que dirige el barco, y por eso tantas herramientas de su ecosistema llevan nombres náuticos y el logotipo es un timón.

¿Kubernetes es lo mismo que Docker?

No — responden preguntas distintas. Docker construye y corre contenedores individuales en una máquina; Kubernetes orquesta muchos contenedores en muchas máquinas. Son complementarios: las imágenes construidas con Docker corren en clústeres de Kubernetes. Desde la versión 1.24, Kubernetes ya no usa a Docker como runtime — habla con cualquier runtime de contenedores estándar — pero las imágenes hechas con Docker funcionan igual que antes, porque siguen el estándar abierto OCI.

¿Qué son un clúster, un nodo y un pod?

El clúster es el sistema completo: un control plane más las máquinas worker. Un nodo es una máquina de ese sistema, física o virtual. Un pod es la unidad desplegable más pequeña — uno o más contenedores fuertemente acoplados que comparten identidad de red y almacenamiento. Casi nunca corres un pod suelto: declaras un Deployment, y Kubernetes gestiona los pods por ti.

¿Qué es el control plane de Kubernetes?

El cerebro del clúster: un API server por el que todo conversa, un almacén clave-valor con el estado deseado y el estado real del clúster, un scheduler que decide en qué nodo aterriza cada pod y controllers que reconcilian continuamente la realidad con las declaraciones. Los nodos worker corren un agente, un proxy de red y el runtime de contenedores que de verdad ejecuta los pods.

¿Quién creó Kubernetes y cuándo?

Se liberó como open source en junio de 2014, nacido de más de una década de experiencia interna en orquestación de contenedores en una de las mayores empresas de tecnología, y alcanzó la versión 1.0 en julio de 2015 — cuando fue donado a la recién creada Cloud Native Computing Foundation (CNCF). Escrito en Go, se ha convertido desde entonces en uno de los proyectos open-source más grandes del mundo.

¿Cuándo es Kubernetes demasiado?

Más seguido de lo que el hype admite. Un equipo pequeño que corre un puñado de contenedores con tráfico predecible gana poco con un clúster y hereda una curva de aprendizaje empinada, sprawl de YAML y una disciplina operativa diseñada para problemas a escala de flota. Caminos más simples — un archivo compose en un host, una plataforma gestionada de contenedores, un PaaS o un BaaS — cubren la mayoría de las cargas por debajo de una escala seria.

¿Qué es Kubernetes gestionado?

Un servicio de nube que corre el control plane por ti — upgrades, disponibilidad, almacén de estado — mientras tú gestionas las cargas y los pools de nodos. Elimina la capa operativa más difícil y es como corre en realidad la mayor parte del Kubernetes en producción. Autogestionar un clúster de punta a punta sigue siendo territorio de equipos de plataforma con expertise dedicada; el control plane es infraestructura que no perdona.

Términos relacionados

Compara con

Lecturas recomendadas

¿Listo para construir tu backend?

Empieza tu proyecto en Back4app en minutos — base de datos, autenticación, APIs y Cloud Code incluidos. Sin tarjeta de crédito.

Escrito y revisado por Back4app Engineering, Back4app Engineering · Publicado el 2026-08-27