Isopod : un langage pour faciliter la configuration de clusters Kubernetes multiples

Par:
fredericmazue

mer, 09/10/2019 - 10:00

Cruise est une start-up qui construit des véhicules autonomes. Pour ses besoins, elle a conçu Isopod, un langage DLS (Domain Specific Language) facilitant la configuration de clusters Kubernetes multiples.

Charles Xu, ingénieur logiciel chez Cruise, explique que la start-up a utilisé Isopod pour migrer des add-ons et en ajouter de nouveaux à plusieurs clusters Kubernetes. Le résultat a été un déploiement 80% plus rapide et une réduction de 60% de la taille du code, grâce à la réutilisation. Cruise vient d'ouvrir le code d'Isopod.

Plutôt que de s'appuyer sur les fichiers YAML, Isopod affiche les objets Kubernetes sous forme de tampons de protocole (Protocol Buffers) pouvant être utilisés par l'interface de programmation d'application (API) Kubernetes. Avec Isopod, les configurations sont écrites en Starlak, un dialecte de Python créé par Google. Isopod étend Starlark avec des fonctionnalités d'exécution intégrées pour accéder aux services et utilitaires tels que la gestion des secrets Vault, Kubernetes apiserver, le requester HTTP, l'encodeur Base64 et le générateur UUID. Isopod utilise également un environnement d'exécution distinct pour les tests unitaires afin de simuler tous les éléments intégrés.

Un article de Charles Xu détaille le fonctionnement d'Isopod.

Isopod est un logiciel libre sous licence Apache 2.0, disponible sur GitHub.