Fédération Multi-Cloud de Clusters Kubernetes et applications au Blockchain, Spark et Serverless …

Suite à la certification de Stackpoint.io par la Cloud Native Computing Foundation, j’ai lancé le déploiement sur des clusters Kubernetes fedérés dans plusieurs régions de la planète avec cette structure :

Image for post
Image for post

J’ai donc au total 6 clusters répartis entre Azure et Google Cloud via la plateforme Stackpoint.io :

Image for post
Image for post

avec une fédération induite via un endpoint DNS fourni par Google Cloud (mais qui peut également être obtenu via CoreDNS par exemple) :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

avec le détails des clusters en fonctionnement :

Image for post
Image for post

Helm m’offre alors la possibilité de lancer sur ces différents clusters, des clusters Apache Spark relié à l’environnement de notebooks Apache Zeppelin :

Image for post
Image for post

Je lance l’installation pour tous les clusters Kubernetes :

Image for post
Image for post

et via l’ingress controller (service de load balancing offert dans Azure ou Google Cloud), je récupère l’IP publique d’accès à la console du Spark Master et à Zeppelin :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

et je peux tester un notebook via le langage Scala pour exécuter des tâches au sein de ces clusters Apache Spark :

Image for post
Image for post

Il est alors possible comme le montrent les différentes pratiques d’entreprises aujourd’hui de substituer la liaison traditionnelle du cluster Spack aux clusters Hadoop par des bases de données planétaires géodistribuées comme CosmosDB, Cassandra etc …

Image for post
Image for post

et notamment ici via le connecteur Spark de CosmosDB :

Image for post
Image for post
Image for post
Image for post

Via la bibliothèque PyDocumentDB, je peux lier mes clusters Spark avec le déploiement mondial de CosmosDB en exécution dans Azure :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Je peux alors tester toujours au sein de ces clusters fédérés, le lancement de Kuberneteth (acronyme de Kubernetes + Ethereum) pour de la Blockchain privée :

Image for post
Image for post

et je récupère l’IP du dasboard de monitoring de cette chaine de blocs :

Image for post
Image for post
Image for post
Image for post

et avec le test de smart contracts, on peut arriver à un monitoring plus détaillé :

Image for post
Image for post

Et enfin dans le cadre du serverless, après OpenFaaS, Fission, Kubeless ou Openwhisk, voici un dernier venu en open source avec “Fn Project” dont Oracle a fait la promotion récemment => https://blogs.oracle.com/developers/announcing-fn

Image for post
Image for post
Image for post
Image for post

Je lance donc la création de ces fonctions à la demande au sein des clusters Kubernetes :

Image for post
Image for post
Image for post
Image for post

Test rapide :

Image for post
Image for post

avec une fonction simple qui me retourne un petit Hello !

Image for post
Image for post

ou via le portail :

Image for post
Image for post
Image for post
Image for post

L’ensemble de ces clusters fédérés est supervisé comme d’habitude par Weave Cloud :

Image for post
Image for post

et les informations de topologie et monitoring notamment :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Mais également la possibilité d’intéragir avec les noeuds de ces différents clusters :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

et cette belle synthèse :

Image for post
Image for post

Ce mécanisme de fédération de clusters Kubernetes va être amené à se perfectionner avec les versions futures que la Cloud Native Computing Foundation proposera à l’avenir …

A suivre ! …

Originally published at telegra.ph on November 27, 2017.

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store