Rancher Rio, un MicroPaaS basé sur Kubernetes …

Image for post
Image for post

Rancher Labs vient d’introduire son nouveau projet dénommé Rio. Rio est un MicroPaaS qui peut être superposé sur n’importe quel cluster Kubernetes standard. Composé de quelques ressources personnalisées et d’un outil en ligne de commande pour améliorer l’expérience utilisateur, on peut facilement déployer des services vers Kubernetes et obtenir automatiquement un processus de livraison continue, un service de ReverseDNS, du routage, de la surveillance, de la mise à l’échelle automatique et bien plus encore …

Image for post
Image for post

Tout ce qu’il faut pour démarrer, c’est un cluster Kubernetes existant et le Rio CLI :

Image for post
Image for post

Je pars au préalable d’un déploiement d’un cluster Kubernetes via AKS-Engine et un Scale Set d’instances basse priorité :

Rappel sur le procédé via ce précédent article par exemple :

Lancement de la construction du cluster Kubernetes :

Image for post
Image for post

sur la base de ce template JSON :

Image for post
Image for post
Kubernetes.json

Le cluster est alors disponible :

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

avec mon pool d’instances basse priorité :

Image for post
Image for post

Et je récupère Rio CLI depuis son dépôt sur Github :

Image for post
Image for post

ou via cette ligne de commande :

$ curl -sfL https://get.rio.io | sh -$ rio install

et lancement de l’installation du MicroPaaS :

Image for post
Image for post

Rio dispose d’un maillage de service intégré, alimenté par Istio et Envoy. Le maillage des services fournit toutes les capacités de communication de base pour que les services puissent communiquer entre eux, le trafic entrant et le trafic sortant. Tout le trafic peut être crypté, validé et routé dynamiquement en fonction de la configuration. On voit ici qu’une adresse IP a été attribuée par le service de Load Balancing d’AKS pour Istio Gateway :

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

Petit test de déploiement d’un service sur la base d’images Docker :

Image for post
Image for post

avec l’accès à ces services par un dispositif de ReverseDNS inclus avec Rio. Par défaut, Rio créera un enregistrement DNS pointant vers le cluster Kubernetes. Rio utilise également Let’s Encrypt pour créer un certificat pour le domaine cluster afin que tous les services puissent supporter HTTPS par défaut :

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

Une interface en mode console est fournie avec Rio pour l’administration :

$ rio ps 
$ rio console
$ rio info
Image for post
Image for post
Image for post
Image for post

Autre test avec le traditionnel démonstrateur FC Agent :

Image for post
Image for post

et le démonstrateur est accessible via la route fournie par Rio :

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

Rio permet la mise en oeuvre de l’Auto Scaling. Mise en oeuvre de l’outil Hey en ligne de commande pour générer de la charge sur le démonstrateur :

Image for post
Image for post

Par défaut, Rio activera cette mise à l’échelle automatique des charges de travail. En fonction des Qps et des demandes actives en cours, Rio adaptera automatiquement la charge de travail à l’échelle appropriée …

Pour finir, test du maillage de service. Les services peuvent avoir plusieurs versions déployées en même temps. Le maillage du service peut alors décider du volume de trafic à acheminer vers chaque révision. La commande rio stage mettra en scène une nouvelle révision d’un service existant. Par exemple, ici un scénario pour faire un déploiement canari :

Image for post
Image for post

Rio permet de lancer un service sur la base de source hébergée sur un dépôt Git ou même activer un webhook ainsi que d’autres fonctionnalités à explorer …

Par défaut, Rio déploie grafana et kiali pour permettre à l’utilisateur de surveiller toutes les métriques correspondant au maillage des services :

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
Image for post
Image for post
Image for post
Image for post

Nul doute que Rancher Labs va continuer à faire évoluer Rio pour disposer probablement d’une alternative à OpenShift notamment …

A suivre !

Image for post
Image for post

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