Dos herramientas para manejar APIs obsoletas en Kubernetes
- victoriagimenez5
- 9 jul.
- 2 Min. de lectura

Cuando trabajamos con Kubernetes para desplegar servicios, frecuentemente debemos actualizar sus APIs o realizar upgrades del clúster. Como buena práctica, antes de hacer cualquier cambio es fundamental conocer el estado actual y futuro de las APIs utilizadas, para evitar interrupciones en las aplicaciones. Hoy te presentamos dos herramientas clave para esta tarea: Kube No Trouble (kubent) y Pluto.
¿Por qué importan las APIs en Kubernetes?
Kubernetes es una plataforma completamente orientada a APIs. Cada nueva versión del clúster introduce cambios que pueden incluir desuso o eliminación de APIs anteriores, de acuerdo con su política de deprecación. Las APIs siguen un ciclo de vida: Alpha → Beta → Stable. Con el tiempo, versiones anteriores pueden quedar obsoletas o ser eliminadas.
Kubent – Kube No Trouble
Kubent es una herramienta práctica para identificar APIs obsoletas o pronto a ser eliminadas. Se conecta al clúster o analiza archivos YAML locales, generando un reporte legible de los objetos afectados.
Instalación
sh -c "$(curl -sSL 'https://git.io/install-kubent')"Uso
Análisis sobre clúster activo: Simula un upgrade a Kubernetes v1.25.0
$ kubent --target-version 1.25.0 
Resultado: muestra APIs eliminadas en v1.22 y otras que ya no existen en v1.25.
Análisis de archivos YAML:
$ kubent --filename nginx-deployment.yaml --cluster=false
Resultado: indica que el recurso usaba una API removida desde la versión v1.9 y que debe migrarse a apps/v1.
Pluto – Verificación profunda de APIs y Helm Charts
Pluto también detecta APIs obsoletas, con la ventaja de integrarse con Helm y pipelines CI/CD para validar Infraestructura como Código antes de aplicarla.
Instalación
curl -sL "https://github.com/FairwindsOps/pluto/releases/download/v4.0.4/pluto_5.4.0_linux_amd64.tar.gz" | tar -zx --add-file pluto && sudo mv pluto /usr/local/bin/pluto && chmod +x /usr/local/bin/plutoUso
Analizar charts Helm en el clúster:
$ pluto detect-helm -o wide -t k8s=v1.22

Analizar archivos YAML de un directorio:
$ pluto detect-files
Validar un chart Helm antes de desplegarlo:
helm template stable/nginx-ingress --version 0.11.1 | pluto detect -o wide -t k8s=v1.25 -

Bonus: Plugin Helm mapkubeapis
mapkubeapis es un plugin para Helm v3 que permite migrar automáticamente recursos que usan APIs obsoletas a versiones soportadas por tu clúster.
Instalación:
$ helm plugin install https://github.com/helm/helm-mapkubeapisUso
Simular una migración:
helm mapkubeapis grafana --dry-run --namespace default
Ejecutar migración de APIs:
helm mapkubeapis grafana --dry-run --namespace default 
Reflexión final
Las actualizaciones en Kubernetes son inevitables. Detectar y migrar APIs obsoletas antes de realizar upgrades es clave para mantener la estabilidad de tus servicios. Herramientas como kubent, Pluto y mapkubeapis facilitan este proceso y te permiten automatizar validaciones en CI/CD.



