Petits jeux autour de la virtualisation imbriquée dans le cloud public …

Depuis quelques mois, la virtualisation imbriquée est proposée par les grands clouds providers avec des applications diverses qui peuvent aller du développement à la formation (ce que fait Red Hat avec ses formations autour d’Openstack et RHEV), en passant par l’exécution d’instances dites “Legacy” que l’on ne peut pas migrer directement dans le cloud, jusqu’à la sécurisation de certains workloads lorsque l’on ne veut pas que ceux-çi soient au contact “direct” mais plutôt “indirect” des plateformes du fournisseur de IaaS (exemple => https://cloudplatform.googleblog.com/2017/09/introducing-nested-virtualization-for.html ).

Image for post
Image for post

Je commence par un test dans Azure qui offre la possibilité d’exécuter des hyperviseurs avec certains gabarits d’instances proposés => https://azure.microsoft.com/en-us/roadmap/nested-virtualization-in-azure/

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

Je vais donc lancer la création d’un groupe de serveurs Hyper-V en utilisant les propriétés de processeurs Intel Xeon E5 v4 famille “Broadwell” introduits dans Azure => https://azure.microsoft.com/fr-fr/blog/updates-on-intel-xeon-scalable-processors-for-microsoft-azure-stack/

Image for post
Image for post

Et notamment des séries E2–64 v3 avec les Intel Xeon E5–2673 v4 dont on ne retrouve la trace que sur AliExpress (sûrement un design spécifique pour les cloud providers) :

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

Avec un serveur Windows 2016 Datacenter Edition et deux Hyper-V 2016 Core (puisque Microsoft a annoncé que les Nano Servers n’étaient plus supportés en tant qu’hyperviseurs en faveur des Windows Server Core) , j’installe le rôle Hyper-V accompagné d’un serveur DHCP local en conjonction de la preview de Microsoft Honolulu :

Image for post
Image for post

En effet Microsoft Honolulu constitue un point central de gestion de ces différents serveurs :

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

Pour rappel, le projet Microsoft Honolulu est un ensemble d’outils de gestion localement déployé, basé sur un navigateur, qui permet l’administration de serveurs Windows en donnant aux administrateurs IT un contrôle total sur tous les aspects de leur infrastructure serveur notamment pour la gestion des réseaux privés qui ne sont pas connectés à Internet. L’application Microsoft Honolulu fonctionne dans un navigateur web. L’application gère les nœuds Windows Server 2016, Windows Server 2012 R2 et Windows Server 2012 via la passerelle Honolulu que vous pouvez installer sur Windows Server 2016 ou Windows 10. La passerelle gère les serveurs via Remote PowerShell et WMI via WinRM.

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

avec la configuration local du switch virtuel en mode NAT (indispensable pour la connexion aux VMs en l’absence de l’utilisation de SCVMM) :

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

Je teste un monocluster Kubernetes dans cet Hyper-V “imbriqué” :

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

le dashboard Kubernetes est de la partie :

Image for post
Image for post

Parallèlement je lance l’installation d’un monocluster Openshift sur la base d’une image CentOS 7.4 :

Image for post
Image for post

J’ai donc mes VMs imbriquées en exécution dans l’Hyper-V :

Image for post
Image for post

Openshift Origin est déployé et prêt :

Image for post
Image for post

Je fais le test traditionnel du lancement du portail de démo FranceConnect Particulier :

Image for post
Image for post

avec une route préconfigurée :

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

et je peux vérifier le tout dans le dashboard d’Openshift Origin :

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

Je vérifie l’accès au portail avec la route que j’ai définie (toujours en Wild Card DNS) :

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

et avec une règle de port forwarding sur le serveur Hyper-V, je peux rendre accessible le portail depuis internet :

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

Je lance un autre test avec le monocluster Kubernetes : avec notamment Payara Micro et Hazelcast

Image for post
Image for post

Il est en effet possible de lancer un cluster de type glassfish avec des applis en mémoire via ces deux produits :

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

Deux instances Payara Micro vont être lancés avec un API REST dans lequel une requête sera lancé pour automatiquement être répercutés sur l’autre via ce mécanisme de clustering automatique fourni via Hazelcast :

Image for post
Image for post

lancement des déploiement de POD et test :

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

le cluster fonctionne :

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

Je peux également comme tout à l’heure lancer mon portail FC Démo :

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

et une autre règle de port forwarding pour rendre accessible ce portail depuis internet :

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

Il est également possible d’installer un controleur OpenvSwitch via l’excellent travail de la société Italienne Cloudbase :

Image for post
Image for post

application à notre Hyper-V :

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

Il suffira de paraêtrer les VMs d’Hyper-V pour utiliser le vSwitch et les périphériques réseaux virtuels connectés à OpenvSwitch …

Image for post
Image for post

Et l’interconnexion de ces Hyper-V à un cluster Openstack est facilitée avec les binaires fournis par la société cloudbase :

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

on peut le faire aussi avec des petits Intel NUCs :

Image for post
Image for post

La virtualisation imbriquée est également possible (même si plus limitée) dans Google Cloud depuis peu :

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

On part d’un disque avec une image Linux que l’on va (via une requête à l’API Google Compute) rendre potentiellement utilisable comme hôte de virtualisation :

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 peux vérifier que les extensions Intel VT sont disponible sur cette instance :

Image for post
Image for post

et le lancement d’un Openstack de test est possible :

Image for post
Image for post

Je termine, toujours dans le contexte de la virtualisation imbriquée, par le lancement d’un cluster Kubernetes via Kubespray (en incubation au sein de la Cloud Native Computing Foundation) :

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

selon ce schéma :

Image for post
Image for post

Lancement des instances via az cli :

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

test de connectivité avec Ansible et les IP publiques de ces instances :

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

lancement du playbook Ansible avec Kubespray et installation réussie du Cluster :

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

J’installe mon Ingress Controller :

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

raccordé à Let’s Encrypt pour des certificats SSL automatiquement attribués avec kube-lego:

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

lancement du portail test FC démo :

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

Un domaine prometteur de la virtualisation imbriquée (ou Nested Virtualization) à suivre bien évidemment …

Originally published at telegra.ph on January 2, 2018.

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