Aperçu de “Portainer on Kubernetes BETA” : application avec Rancher K3d, Serveo et Gobetween dans Hetzner Cloud …

Image for post
Image for post

ur le dépôt Github de Portainer, on peut trouver une version Beta destinée à Kubernetes. Test avec le déploiement de deux instances Ubuntu 18.04 LTS avec ce script pour cloud-init dans Hetzner Cloud :

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

Ces deux instances Ubuntu ont initié un cluster K3s dans des instances Docker vues comme des hôtes via Rancher K3d :

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

Je peux déployer le manifeste YAML de Portainer dans ce cluster k3s imbriqué dans cette instance Ubuntu :

Image for post
Image for post

J’ai modifié ce manifeste YAML en configurant le service sur le mode ClusterIP en lieu et place du mode Load Balancer :

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

Dans K3d il est possible d’utiliser Traefik comme Ingress Controller (en effet au moment de la création du cluster K3d, j’ai publié le port TCP 80 sur l’instance) :

Image for post
Image for post

Ce qui me permet d’accéder au portail de Portainer sur le port TCP 80 de l’instance Ubuntu portant ce cluster K3d :

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

Je connecte Portainer à ce cluster K3d :

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

Je me connecte ensuite à la seconde instance Ubuntu qui porte également un cluster K3d :

Image for post
Image for post

et je récupère l’Agent Portainer qui me permettra de connecter ce cluster K3d au serveur Portainer sur la première instance via ce manifeste YAML :

Image for post
Image for post

Là j’ai remplacé le mode Load Balancer par le mode NodePort pour la partie service de ce manifeste YAML.

Je vais utiliser Gobetween, une alternative Open Source à HAProxy ou Nginx pour lancer un Load Balancer local pour émettre l’Agent Portainer sur le port TCP 9001 :

Image for post
Image for post

Gobetween peut s’installer via Snap ou un binaire depuis Github :

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

J’utilise un fichier de configuration TOML pour Gobetween :

Image for post
Image for post

Et je lance ce Load Balancer avec Gobetween :

Image for post
Image for post

Dès lors il est possible de lier ce cluster K3d dans le portail Portainer :

Image for post
Image for post

qui apparaît dans le dashboard de Portainer avec ces détails :

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

Je peux lancer une nouvelle application dans ce cluster avec le sempiternel démonstrateur FC :

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

qui se déploie en mode NodePort sur le port TCP 31111 :

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

Je vais lancer une nouvelle instance Ubuntu qui va me permettre de lancer Serveo en mode local :

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

En ayant récupéré le binaire depuis le site web de Serveo :

Image for post
Image for post

Je lance localement dans cette instance Serveo avec ce domaine Wildcard :

Image for post
Image for post

Avec un autre Load Balancer Open Source nommé Balance, je lance un endpoint local sur le port TCP 31111 qui pointe sur ce même port sur les IP des containers Docker faisant office d’hôtes dans le cluster K3d de la seconde instance Ubuntu :

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

ans l’instance portant Serveo, je me connecte en SSH localement à ce dernier pour obtenir un nouvel endpoint et exposer publiquement mon démonstrateur FC sur le port TCP 80 :

Image for post
Image for post

qui utilise ce domaine Wildcard :

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

À suivre !

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