Rancher 2.2 avec des instances ARM 64 Bits pour des environnements de test ou de développement : mise en oeuvre via k3s et k3d …

Image for post
Image for post

Je profite de la sortie de la version récente 2.2.1 de Rancher Server qui propose un port officiel sur les architectures ARM 64 bits :

Je lance quatre instances ARMv8 sur Scaleway au préalable :

Et sur l’instance dénommée Rancher, je lance la dernière image Docker de Rancher Server :

Sur les autres je vais utiliser Rancher k3s, une distribution très légère emballée dans un paquet qui réduit les dépendances et les étapes nécessaires à l’exécution d’un cluster Kubernetes. Packagé sous la forme d’un binaire unique, k3s rend l’installation et la mise à niveau aussi simples que la copie d’un fichier. Les certificats TLS sont générés automatiquement pour garantir que toutes les communications sont sécurisées par défaut :

Le binaire k3s est à récupérer sur le dépôt github :

Pour arriver à ce résultat :

Installation du noeud maître :

Je peux récupérer le token nécessaire à la connexion de noeuds au cluster Kubernetes ainsi formé :

Sur un deuxième noeud, je peux procéder au raccordement au cluster :

Image for post
Image for post

Idem pour le dernier noeud :

Au final, je peux visualiser les noeuds actifs dans ce cluster Kubernetes allégé :

Je n’ai plus qu’à importer ce cluster Kubernetes dans Rancher :

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

Cela prend la forme d’une commande à exécuter dans le cluster :

et il apparaît dans le dashboard de Rancher Server :

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

Je passe au test du déploiement du traditionnel démonstrateur FC Agent pour les architectures ARM 64 Bits via l’image Docker dédiée :

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

Je peux configurer l’Ingress Controller pour accéder via un wildcard DNS au démonstrateur FC Agent :

Et il apparaît en effet :

Image for post
Image for post

Le tout prend assez peu de mémoire vive :

Dans la lignée de DIND (Docker in Docker) et de ce qu’a réalisé Mirantis,

test d’une variante avec k3s via k3d (“k3s in Docker”) :

Il existe en effet un certain nombre d’environnements de développement de kubernetes qui aident à développer et tester les applications créées pour kubernetes. k3d est basé sur k3s et est rapide à démarrer avec une empreinte de ressource minimale. k3d enveloppe le tout dans une commande sous la forme d’un binaire avec des valeurs par défaut. Il est multiplateforme et fonctionne sous Windows, Mac OS et Linux et prend en charge la création de clusters multiples :

J’ajoute deux nouveaux noeuds ARM 64 Bits dans Scaleway :

pour arriver à ce nouveau résultat :

et je peux lancer la création d’un cluster Kubernetes dans chacun d’eux :

  • $ k3d create
  • $ export KUBECONFIG=$(k3d get-kubeconfig)
  • $ kubectl get pods --all-namespaces
Image for post
Image for post

Il est alors possible d’importer ces deux clusters dans le serveur Rancher :

Image for post
Image for post

Les deux clusters apparaissent dans le dashboard de Rancher :

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

Comme précedemment, déploiement du démonstrateur FC Agent dans ces deux clusters :

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

La difficulté réside dans le fait que ces clusters Kubernetes sont embarqués dans un container Docker. Via Nodeport pour la configuration d’un service au sein d’un de ces clusters, je dois récupérer l’adresse IP du container en question :

Une fois cete information obtenue, je peux installer un reverse proxy (ici simplement via Nodejs) pour exposer publiquement ces deux démonstrateurs FC Agent :

Les deux démonstrateurs apparaissent publiquement et via un load balancer je peux basculer sur l’un ou l’autre :

La partie monitoring détaillée dans Rancher Server pour la variante ARM 64 Bits restent encore à se développer mais l’aventure sur ces architectures moins énergivores et plus compactes est à suivre (dans un contexte de Green IT ou orientée vers l’Edge Computing) …

De même qu’il est possible de lier des services sur plusieurs clusters x86 via le tout nouveau Rancher Submariner, on attend la mouture en ARM 64 Bits …

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