Détectez vos API Kubernetes obsolètes avec pluto

Posted by

J’aime beaucoup Kubernetes, mais des fois il est difficile de suivre l’évolution de ses API. Pour garder vos fichiers YAML à jour, je vous présente un outil en ligne de commandes nommé Pluto.

Vous pouvez l’installer depuis le repo du projet, ou avec brew si vous êtes sur Mac.

Essayons-le sur nos fichiers YAML

Ouvrez votre invite de commandes, placez-vous dans votre projet et scannons nos fichiers.

pluto detect-files -d .
NAME                                          KIND                       VERSION                        REPLACEMENT               REMOVED   DEPRECATED  
felixconfigurations.crd.projectcalico.org     CustomResourceDefinition   apiextensions.k8s.io/v1beta1   apiextensions.k8s.io/v1   false     true        
ipamblocks.crd.projectcalico.org              CustomResourceDefinition   apiextensions.k8s.io/v1beta1   apiextensions.k8s.io/v1   false     true        
blockaffinities.crd.projectcalico.org         CustomResourceDefinition   
...

Comme nous pouvons le voir, j’ai quelques ressources à mettre à jour.

Et pour notre cluster ?

Il est aussi possible de scanner un cluster Kubernetes distant. Pluto va utiliser notre configuration kubectl locale.

pluto detect-helm -owide
NAME                                               NAMESPACE      KIND                           VERSION                                REPLACEMENT                       DEPRECATED   DEPRECATED IN   REMOVED   REMOVED IN  
cert-manager/certificaterequests.cert-manager.io   cert-manager   CustomResourceDefinition       apiextensions.k8s.io/v1beta1           apiextensions.k8s.io/v1           true         v1.16.0         false     v1.19.0     
cert-manager/certificates.cert-manager.io          cert-manager   CustomResourceDefinition       apiextensions.k8s.io/v1beta1           apiextensions.k8s.io/v1           true         v1.16.0         false     v1.19.0
...

J’ai aussi quelques API à mettre à jour sur mon cluster.

Conclusion

Comme nous pouvons le voir, Pluto est un outil simple et facile à utiliser. Il peut vous aider à garder vos API Kubernetes à jour et à préparer leur futures évolutions.

La dernière version de kubectl affiche un warnings lors de l’utilisation d’une version obsolète mais il est toujours intéressant de pouvoir vérifier manuellement. Il est aussi possible d’intégrer Pluto dans votre CI/CD pour éviter de déployer des apiVersion obsolètes.

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *