Accéder à Red Hat CodeReady Containers dans Azure depuis Tailscale …
Tags: azure, openshift, kubernetes, tailscale
Published: 2022-01-09 01:08:22

---
title: Accéder à Red Hat CodeReady Containers dans Azure depuis Tailscale …
published: true
date: 2022-01-09 00:54:02 UTC
tags: azure,openshift,kubernetes,tailscale
canonical_url: https://deep75.medium.com/acc%C3%A9der-%C3%A0-red-hat-codeready-containers-dans-azure-depuis-tailscale-788e49a4f279
---

![](https://cdn-images-1.medium.com/max/1024/1*0JmhJL1UxsX5TPJMLKESow.png)

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.

![](https://cdn-images-1.medium.com/max/1024/0*Q9taNCHLArhhaKl4)

- [CodeReady Containers | Red Hat Developer](https://developers.redhat.com/products/codeready-containers/overview)
- [GitHub - code-ready/crc: Red Hat CodeReady Containers is a tool that manages a local OpenShift 4.x cluster optimized for testing and development purposes](https://github.com/code-ready/crc)

Red Hat CodeReady Containers est en effet conçu pour le développement et les tests locaux sur un cluster OpenShift 4.X.

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.

[Tailscale](https://tailscale.com/)

![](https://cdn-images-1.medium.com/max/1024/1*MEg303XNoovG4pEnDEqbEw.png)

On peut opter pour la formule personnelle amplement suffisante ici …

![](https://cdn-images-1.medium.com/max/415/1*3d6ZRbHF-st7F09W8eOMTA.png)

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 …

- [Ev5 and Esv5-series - Azure Virtual Machines](https://docs.microsoft.com/en-us/azure/virtual-machines/ev5-esv5-series)
- [Vue d'ensemble des groupes de machines virtuelles identiques Azure - Azure Virtual Machine Scale Sets](https://docs.microsoft.com/fr-fr/azure/virtual-machine-scale-sets/overview)

![](https://cdn-images-1.medium.com/max/1024/1*Ih6cLNXSSIBZ0L0A5x6Wfw.png)

[Azure | AlmaLinux Wiki](https://wiki.almalinux.org/cloud/Azure.html#contributing)

![](https://cdn-images-1.medium.com/max/500/0*gbvezaNPeomMwnR3.jpg)

L’image d’AlmaLinux 8.5 est présente et ce script sert au lancement du Scale Set :

![](https://cdn-images-1.medium.com/max/1024/1*rSt2qrH0v0qeqHffvNC7eQ.png)

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” :

![](https://cdn-images-1.medium.com/max/1024/1*G-PH27X7Xt2KkZmz1XaKPg.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*zyYMWUV-qkoRnB3wSC2MIQ.png)

J’expose le sous réseau de la machine virtuelle dans Tailscale :

[Subnet routers and traffic relay nodes](https://tailscale.com/kb/1019/subnets/)

![](https://cdn-images-1.medium.com/max/1024/1*jreXaA-NUrXqg9f_Dd4q6Q.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*Q2mlTJgM9dR8OWCo6B_tNA.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*ZeZzwsorzigdVF9wipy9-w.png)

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

[Releases · code-ready/crc](https://github.com/code-ready/crc/releases)

![](https://cdn-images-1.medium.com/max/1024/1*9UKdZk8xZfc2IWfANnQeDQ.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*mvnMBjMqapGGctxWadPX2g.png)

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

[Getting Started Guide](https://crc.dev/crc/)

![](https://cdn-images-1.medium.com/max/1024/1*GmqpbbRO_JVteAI6jN-zlw.png)

avec la partie monitoring activée …

![](https://cdn-images-1.medium.com/max/1024/1*Fqb_563UIQAib3pEptBqvA.png)

![](https://cdn-images-1.medium.com/max/1024/1*DgGSwYbRdru68vpFM4Y1rQ.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*-DMwnCYhHDXoPLfHRdxmhQ.png)

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 :

[Getting Started Guide](https://crc.dev/crc/#setting-up-remote-server_gsg)

![](https://cdn-images-1.medium.com/max/1024/1*y36hf7lGbCbWy9NvImiUIQ.png)

![](https://cdn-images-1.medium.com/max/1024/1*49JfKU6go0xk0QwXMKny4g.png)

![](https://cdn-images-1.medium.com/max/1024/1*2VAFy1MVEpi90CZigyiDKA.png)

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 :

![](https://cdn-images-1.medium.com/max/1024/1*z7wy-_CsFD_g0jZiOKNmbw.png)

Et j’y accède :

![](https://cdn-images-1.medium.com/max/1024/1*2BeHYnX49kL5FEMKFc6E-Q.png)

![](https://cdn-images-1.medium.com/max/1024/1*iyRpaDxYhw3b1EDWS3Ziog.png)

![](https://cdn-images-1.medium.com/max/1024/1*emoKNePeuXPeZorg_VREDw.png)

![](https://cdn-images-1.medium.com/max/1024/1*Jng-XOGlWQkC_lQhnrSPXA.png)

![](https://cdn-images-1.medium.com/max/1024/1*1mK8rL9waAC-Yuta9Gmi_A.png)

Comme dans un article précédent, je réutilise Odo,

[Aperçu de Microshift, une implémentation légère d’OpenShift …](https://dev.to/deep75/apercu-de-microshift-une-implementation-legere-d-openshift-4jim)

afin de réaliser un déploiement rapide sur le cluster OpenShift :

[odo - Fast iterative Kubernetes development | odo](https://odo.dev/)

![](https://cdn-images-1.medium.com/max/960/0*bIawyZVxeHcc4RIg)

![](https://cdn-images-1.medium.com/max/1024/1*m4MUXVVN0BzNz02yisPrnw.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*c0sBMQ0jZVj2bo9G8lC_8g.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*nvCAbb0WIbleeNz-k-Vn0Q.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*NoqtBxlCJ4kWzJ7FFIt0RA.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*ONSIwPgapPbAzk1DtcdugQ.png)

![](https://cdn-images-1.medium.com/max/1024/1*7xOOgCF3Kc3tH18n89HAzA.png)

![](https://cdn-images-1.medium.com/max/1024/1*IdSmRdPiiA71qw9kaGRcig.png)

![](https://cdn-images-1.medium.com/max/1024/1*gvufa-ILv3ql_iOSPLTC5Q.png)

![](https://cdn-images-1.medium.com/max/1024/1*a9xqlHpMImFiphFr099rTw.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*x4cp_6gkIbL65KgewrBRwg.png)

![](https://cdn-images-1.medium.com/max/1024/1*rbvVLf7xpdPzsxnINA-JXw.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*VrLmYRoaPZQNeF7i6s9svg.png)

![](https://cdn-images-1.medium.com/max/1024/1*U10DuXTTS7lwnaOWygaSWg.png)

![](https://cdn-images-1.medium.com/max/1024/1*N5Tncv35d1fMVchSrHe-cg.png)

ou les logs du Pod en exécution …

![](https://cdn-images-1.medium.com/max/1024/1*LRLl9GbPHEVdwVo2K6dPzw.png)

![](https://cdn-images-1.medium.com/max/1024/1*pgcXDnzkykFRHM96s1T-dw.png)

Mise à l’echelle du déploiement …

![](https://cdn-images-1.medium.com/max/1024/1*ZwgnG5RDv3mPUL2vrdR1Dw.png)

![](https://cdn-images-1.medium.com/max/1024/1*rc35_OAiRQOA0nBxIy7zlg.png)

![](https://cdn-images-1.medium.com/max/1024/1*hR6Kh4JhWSdla_2Y-XDwOA.png)

![](https://cdn-images-1.medium.com/max/1024/1*KzXl5Lcz9KLMObLt7_y4qg.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*NozNTsFHgTSo3EkerhAdOQ.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*zXrHXRDjUlzfxSyko1u0Ww.png)

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

![](https://cdn-images-1.medium.com/max/1024/1*29RZFummlNVYT6Bc2PuqOw.png)

![](https://cdn-images-1.medium.com/max/523/1*YRv_7KAd7RXDPPOfhhGd1w.png)

ainsi que le Resource Group dans Azure …

![](https://cdn-images-1.medium.com/max/856/1*L9ya_zOx25lALVBAIbqnxQ.png)

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

[DNS in Tailscale](https://tailscale.com/kb/1054/dns/)

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

[Enabling HTTPS](https://tailscale.com/kb/1153/enabling-https/)

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

- [Access Azure Linux VMs privately using Tailscale](https://tailscale.com/kb/1142/cloud-azure-linux/)
- [Access Google Compute Engine VMs privately using Tailscale](https://tailscale.com/kb/1147/cloud-gce/)
- [Access Hetzner Servers privately using Tailscale](https://tailscale.com/kb/1150/cloud-hetzner/)
- [Access Oracle Cloud VMs privately using Tailscale](https://tailscale.com/kb/1149/cloud-oracle/)

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 …

![](https://cdn-images-1.medium.com/max/1024/1*nVn2qHL3uZsK8ANMCRxxqg.png)

À suivre !