La guía del hater sobre Kubernetes
Kubernetes polariza a los ingenieros como un estándar potente para desplegar y escalar contenedores que también introduce una complejidad considerable, especialmente para equipos que no necesitan de verdad todo su conjunto de funciones. Los comentaristas sopesan sus ventajas —APIs agnósticas a la nube, herramientas ricas, autoscaling y una “única interfaz” entre entornos— frente a la fragilidad operativa, las curvas de aprendizaje pronunciadas, el dolor de la templating con YAML/Helm y la tendencia cultural a sobrediseñar. Muchos sostienen que opciones más simples (VMs, ECS, Docker Compose, Nomad, k3s, Dokku) suelen ser suficientes, y que el verdadero reto es elegir una infraestructura proporcional a la escala, las habilidades y las necesidades de negocio de una empresa, en lugar de seguir el hype.
Postura general sobre Kubernetes
- Muchos ven Kubernetes como potente pero excesivamente complejo; otros sostienen que su complejidad se corresponde con problemas del mundo real a gran escala.
- La opinión común: solo una pequeña minoría “necesita” k8s para sobrevivir, pero un grupo mucho más grande lo encuentra beneficioso operativamente.
- Varios lo comparan con git o systemd: un diseño central sólido, una UX dolorosa.
Complejidad operativa y fragilidad
- Los clústeres autogestionados se describen como frágiles: actualizaciones de etcd, planos de control insuficientemente dimensionados y fallos opacos.
- A menudo se recomienda k8s gestionado (GKE/EKS/AKS) para evitar el dolor del plano de control, aunque algunos siguen reportando frecuentes “problemas extraños”.
- Depurar despliegues fallidos de Helm, bucles de crash y el comportamiento de operators/CRD es una queja recurrente.
Herramientas: YAML, Helm, operators, alternativas
- Hay un fuerte rechazo hacia YAML y, especialmente, el YAML templated con Go de Helm; la gente reporta errores sutiles de espacios/templating.
- Alternativas mencionadas: kustomize, envsubst, Jsonnet, Pulumi, Terraform, CDK, cdk8s; algunos prefieren “solo código” en lugar de YAML templated.
- Los operators y las CRD se ven tanto como la principal fortaleza de k8s (infraestructura programable, Ceph/Rook, operators de GitHub) como una gran fuente de complejidad y acoplamiento a nivel de clúster.
Autoscaling, despliegues y latencia
- Se alaba a los HPA, VPA y KEDA cuando se adoptan ampliamente; ajustar HPA en vivo se considera mejor que escalar manualmente a las 4 a. m.
- Los despliegues sin tiempo de inactividad son un motivador importante; muchos señalan que también se puede lograr esto con configuraciones blue/green más sencillas y reverse proxies.
- Los arranques en frío de k8s para cargas efímeras y sensibles a la latencia son difíciles de bajar de ~0.5–2 s sin trabajar a fondo en el interior; algunos cambian a Nomad o a schedulers personalizados.
Cloud, lock-in y portabilidad
- Las voces pro-k8s destacan: modelo declarativo, balanceo de carga y reinicios integrados, herramientas de observabilidad y, especialmente, APIs agnósticas a la nube entre local, on-prem (k3s) y cloud.
- Los críticos responden que las configuraciones reales siguen dependiendo mucho de las particularidades de cada nube y que la “migración a la nube” se sobreenfatiza en relación con la frecuencia con la que ocurre.
Cuándo no usar Kubernetes y alternativas
- Para sistemas simples o a pequeña escala, muchos prefieren: ASGs, ECS/Fargate, Cloud Run, Docker Compose, Swarm, Nomad, Dokku, Kamal, VMs sin más con scripts.
- Los usuarios de homelab a menudo encuentran suficiente k3s o simplemente Docker Compose.
Dinámicas culturales y organizacionales
- K8s puede convertirse en una “trampa de la astucia” y un símbolo de estatus, generando culturas de héroes de plataforma y capas interminables de herramientas.
- Varios argumentan que el verdadero problema es la adopción impulsada por el hype y el mal uso, no la tecnología en sí.