En el décimo aniversario de Kubernetes, se presenta un panorama del ecosistema que ha sido creado en torno a esta tecnología. Kubernetes, que ya es un pilar clásico en la gestión de contenedores, se ha extendido tanto en nubes públicas y privadas como en entornos en el borde. Esta universalidad ha atraído a desarrolladores y proveedores, quienes han creado una vasta gama de herramientas compatibles con Kubernetes, permitiendo que estas funcionen de manera uniforme en diversos ambientes con un costo de construcción relativamente bajo.
Un aspecto crucial del éxito y la adopción de Kubernetes ha sido la promoción deliberada de contribuciones de código abierto. Numerosas herramientas no solo dentro de la Fundación Cloud Native Computing (CNCF, por sus siglas en inglés), sino también fuera de ella, han sido desarrolladas en código abierto. Esto abarca desde soluciones basadas en las experiencias de los usuarios hasta productos iniciales desarrollados por proveedores. Esta comunidad activa y colaborativa ha incrementado la usabilidad y visibilidad de Kubernetes, atrayendo más usuarios a la plataforma.
Hoy en día, es probable encontrar una herramienta, extensión o componente prefabricado compatible con Kubernetes para prácticamente cualquier necesidad, eliminando la necesidad de desarrollarlo desde cero. Además, a menudo hay varias opciones disponibles para escoger. Entre las herramientas destacadas están Skaffold para construir y desplegar aplicaciones, Minikube para pruebas locales, y Telepresence para conexiones remotas. Para sincronización con un ambiente de previsualización, se recomiendan herramientas como Gitpod y Okteto.
Para el despliegue en producción, herramientas de GitOps como FluxCD y ArgoCD sobresalen, mientras que Schemahero facilita las migraciones de bases de datos. La agregación de logs se puede realizar con Fluentbit y la observabilidad puede ser gestionada con herramientas como Prometheus. Para la recepción de tráfico desde Internet, los controladores Ingress y las implementaciones de Gateway junto con cert-manager para la gestión de certificados son opciones viables. Para TLS mutuo y enrutamiento avanzado, Istio y Flagger se utilizan en entrega progresiva.
En cuanto a cargas de trabajo especializadas, Knative maneja cargas eventuales, Kueue las cargas por lotes, Kubeflow es utilizado para flujos de trabajo de ML, y Strimzi gestiona Kafka. Otras herramientas como kubecost ayudan con el monitoreo de costos, OPA Gatekeeper y Kyverno con la ejecución de políticas, y Velero con la recuperación ante desastres.
Además, existen herramientas retro como K9s y Ktop, y herramientas divertidas como Kubeinvaders, que agregan una dimensión lúdica a la administración de Kubernetes. Para aquellos interesados en migrar a Kubernetes, opciones como move2kube y kompose facilitan el traslado.
El ecosistema de Kubernetes se perfila como una tienda de golosinas más que como un paisaje desolado, ofreciendo una inmensa productividad. Aunque puede llevar tiempo descubrir, aprender y probar estas herramientas, desarrollarlas uno mismo requeriría una inversión de tiempo significativa. Se anticipa que nuevas herramientas continúen surgiendo conforme evolucionan y se expanden los casos de uso de Kubernetes. El futuro promete innovaciones continuas en este vibrante ecosistema.
vía: Google Blog Open Source