top of page

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/pluto

Uso

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:

Uso

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.

 
 
bottom of page