vendredi 28 août 2020

Kubernetes

Ces derniers mois, j'ai étudié Kubernetes pour voir s'il pouvait dépasser le domaine des micro-services utilisés ces dernières années ce qui a permis son essor.

A 5 ans d'âge, sur le point de devenir un standard dans le cloud, les trois leaders ( Google, AWS, Microsoft ) en déclinant une version "prête" à l'usage, mais aussi déployable en on-premise, il est temps de se poser la question du passage du stateless au stateful et de quitter le monde des containers appelant des services cloud en mode API.

J'ai donc exploré le monde Kubernetes du stateful et j'ai été agréablement surpris par le foisonnement autour de ce sujet qui va bien au-delà des PV ( physical volume ) et des PVC ( physical volume claim ). Le nombre de startups qui se développe autour du concept de cloud native storage en symbolise l'attrait et préfigure une montée en puissance d'applications plus conséquentes dans ce cluster d'applications qu'est Kubernetes.

Pour ma part, j'ai étudié la solution développée par Portworx et dans une optique d'un regroupement de clusters data dans un cluster Kubernetes, l'idée de séparation de la couche traitement et de la couche storage est séduisante. Ils ont plusieurs projets en production ou pas loin et leur site contient de nombreux exemples d'implémentation pour découvrir le produit.

Pour vous faire une idée de la richesse de l'écosystème Kubernetes, je vous invite à explorer cette map.

D'autre part, si on envisage un produit comme Anthos ou équivalent, on dispose alors d'une première approche pour pouvoir piloter des applications en on-premise ou sur le cloud avec peut-être la perspective d'éviter le fameux vendor lock-in de l'IT. L'histoire est longue dans ce sens, IBM, Oracle, cloudeurs et j'en oublie quelques-uns ...

Pour apprendre Kubernetes, j'ai suivi les deux modules de Cloud Academy, Introduction to Kubernetes et Building, Deploying and Running Containers in Production, ils sont très bien conçus pour appréhender les concepts Kubernetes et réaliser quelques TP d'apprentissage. En mode gratuit, n'hésitez pas à explorer You Tube, on y trouve de très bonnes présentations pour s'initier.

Ma playlist Kubernetes.

Pour pratiquer, vous pouvez installer MiniKube sur une VM et si vous pouvez disposer d'un portable avec 32 GB de RAM, vous pouvez créer un véritable cluster sur un hyperviseur. Pour ma part, j'apprécie l'hyperviseur de Vmware et j'ai donc monté un cluster à 3 noeuds ( un master, deux workers ) en m'appuyant sur le mode d'emploi fourni par Nakivo, excellent !

Ce tutoriel m'a permis de monter un cluster Cassandra et un cluster Elasticsearch ainsi que d'autres bricoles et de vérifier la solidité de la dernière version de Kubernetes, les noeuds étant des VM Ubuntu 20.04.

Durant cette étude, j'ai aussi découvert une startup qui propose des outils pour faciliter la prise en main de Kubernetes , d2iq. Auparavant, elle opérait sur Mesos, d'où un vrai savoir-faire dans le domaine des clusters d'applications.

Et pour les geeks, tentez de développer un opérateur en go !