Accéder à Red Hat CodeReady Containers dans Azure depuis Tailscale …

Karim
9 min readJan 9, 2022

Red Hat CodeReady Containers est le moyen le plus rapide de commencer à construire des clusters OpenShift.

Il est conçu pour s’exécuter sur un ordinateur local afin de simplifier la configuration et les tests, et émule localement l’environnement de développement en nuage avec tous les outils nécessaires pour développer des applications basées sur des conteneurs.

Je vais m’appuyer ici sur Tailscale, un service VPN qui rend les appareils et les applications que vous possédez accessibles partout dans le monde, en toute sécurité et sans effort.

Il permet des connexions point à point cryptées à l’aide du protocole open source WireGuard, ce qui signifie que seuls les appareils de votre réseau privé peuvent communiquer entre eux.

On peut opter pour la formule personnelle amplement suffisante ici …

Je lance avec Azure CLI un Scale Set dans Azure avec une machine virtuelle AlmaLinux (avec la fin officielle de Cent0S fin décembre 2021) de la série Esv5 qui s’exécutent sur le processeur Intel® Xeon® Platinum 8370C (Ice Lake) de 3e génération dans une configuration hyperthreadée et qui surtout autorise la virtualisation imbriquée …

J’ai besoin de ce script supplémentaire qui va exposer la route du sous-réseau créé avec la machine virtuelle dans le “Resource Group” :

tailscale-azure-centos.sh

En utilisant une clé de pré-authentification générée dans Tailscale. Cette clé vous permet d’enregistrer de nouveaux nœuds sans avoir à vous connecter via un navigateur Web. Cette fonction est particulièrement utile lors de la création de containers, de dispositifs IoT ou de l’utilisation de systèmes en mode “Infra as Code” comme Terraform :

La machine virtuelle est prête et elle ne propose pas d’adresse IP publique :

Et depuis ma station connectée au réseau privé de Tailscale, j’accède à l’adresse IP privée de la machine virtuelle :

Je m’y connecte par ce biais … Elle dispose en interne d’une adresse IP fournie par le réseau privé de Tailscale.

Je passe alors à l’installation de Red Hat Code Ready Containers en récupérant l’archive nécessaire …

Le binaire crc est récupéré avec l’archive pour l’installation du cluster OpenShift :

Déploiement de Red Hat CodeReady Containers qui engendre la création d’une nouvelle machine virtuelle via “libvirt” dans cette machine virtuelle AlmaLinux :

avec la partie monitoring activée …

Le déploiement est terminé. Je peux accéder au cluster localement avec le client oc :

Comme le cluster OpenShift demeure sur une machine virtuelle en exécution à distance sur Azure, j’installe un serveur HAProxy qui va me permette d’accéder au dashboard depuis ma station :

Le serveur HAProxy est configuré et prêt pour me rediriger avec le dashboard d’OpenShift … Mais au préalable il faut ajouter les alias dans le fichier /etc/hosts sur ma station en reprenant l’adresse IP de la machine virtuelle attribuée par Tailscale :

Et j’y accède :

Avec Odo je crée le projet sur le cluster :

et je vais créer mon image de container en utilisant le dépôt GitHub du sempiternel démonstrateur FC :

Il est possible de lancer le déploiement du démonstrateur FC avec un simple odo push :

Déploiement avec une route fournie pour y accéder :

Visualisation du déploiement du demonstrateur sur la console OpenShift :

avec les métriques de base via la brique de monitoring activée dans le cluster …

ou les logs du Pod en exécution …

Mise à l’echelle du déploiement …

sans impact sur la disponibilité du démonstrateur FC :

L’ensemble aura eu une consommation raisonnable des ressources de la machine virtuelle AlmaLinux :

Il ne me reste plus qu’à supprimer le tout en n’oubliant pas de retirer l’attachement à Tailscale :

ainsi que le Resource Group dans Azure …

Tailscale peut attribuer automatiquement des noms DNS aux appareils de votre réseau. Cette fonction, appelée “MagicDNS”, est en version bêta …

associée à la génération de certificats SSL :

Ainsi que des guides d’accès spécifiques à certains fournisseurs de Cloud publics :

Avec Tailscale, WireGuard n’a jamais été aussi facile et permet comme on l’a vu ici de connecter comme par magie tous vos serveurs, ordinateurs portables et téléphones à votre propre réseau privé virtuel avec plusieures fonctionnalités supplémentaires …

À suivre !

--

--