Fosdem2019

Début février, comme le veut la tradition dans le monde du Libre, les consultants d’Objectif Libre étaient à Bruxelles à l’occasion du FOSDEM.

La Pause Cloud & DevOps de la semaine vous propose une édition spéciale détaillant quelques conférences particulièrement marquantes de ce week-end toujours animé et riche.

Au menu : du cloud, de la virtualisation, des conteneurs et des orchestrateurs.

  • Multicloud CI/CD with Openstack and Kubernetes
  • Real-time virtualization automation, Mgmt config: Virtualisation
  • Pulp 3: Ready for a Test Drive
  • Bare Metal In The Cloud: Isn’t it Ironic?
  • Cilium
  • Loki : Like a Prometheus but for log

Bonne lecture !

Multicloud CI/CD with Openstack and Kubernetes

Présenté par Maxime Guyot


Pour tous ceux que le CI/CD intéresse, c’est une magnifique présentation qui a été déroulée sur la thématique du multicloud CI/CD avec OpenStack et k8s.
La partie la plus intéressante en était la démonstration, visible dans le gitlab (lien après l’article).
La démo est basée sur l’utilisation de l’infrastructure CI/CD depuis plusieurs plateformes de Cloud, de différents fournisseurs.
L’objectif est de résoudre des problèmes tels que la résilience, les coûts et la dépendance à un fournisseur spécifique, ce qui vous rend aussi apte à changer votre fournisseur en fonction de sa localisation et de l’emplacement de votre client.
Une panoplie d’outils d’automatisation a contribué à la réalisation et à la réussite de cette démonstration comme ansible, docker-compose et terraform ainsi que heat.

En savoir plus – et voir la démo :

Real-time virtualization automation, Mgmt config: Virtualisation

Présenté par James Shubin

 

Mgmt ? Non, on ne parle pas d’un groupe musical… et ce n’est pas non plus l’abréviation de « Methyl Guanine Methyl Transferase ». En fait, c’est plus technique que ça. 
Mgmt est un outil de gestion de la configuration distribuée, piloté par les événements, qui dispose de son propre langage de programmation et de son propre moteur. Il a été écrit et développé par James Shubin – qui présente la conférence.
Un problème des outils d’automatisation traditionnels est qu’ils considèrent que l’infrastructure est statistique – or elle ne l’est pas. 
De nombreux paramètres des infrastructures subissent des changements comme la charge, le nombre des erreurs… : ces valeurs évoluent en permanence.
L’idée est d’utiliser un langage réactif et agile qui peut s’adapter à cette variation permanente.
Malheureusement, la version de production de Mgmt n’a pas encore été « libérée » mais elle devrait l’être très bientôt. Soyez prêts !

 

En savoir plus :

Pulp 3: Ready for a Test Drive

Présenté par Austin Macdonald

 

Pulp3 est une plateforme pour la gestion de référentiels de progiciels.
A l’aide d’une WebAPI, les utilisateurs peuvent synchroniser, télécharger et même publier des référentiels versionnés.
La dernière version Pulp 3 est presque sortie et apportera des fonctionnalités intéressantes :
  • Plugins avec API Web dynamiques
  • Performance améliorée avec asyncio
  • Téléchargement différé (Lazy Sync)
  • Génération automatique des documents REST API

En savoir plus :


Bare Metal In The Cloud: Isn’t it Ironic?      Ironic

Présenté par Ilya Etingof & Dmitry Tantsur
 
Le FOSDEM 2019 a été l’occasion d’avoir quelques nouvelles de l’ours accro au métal d’OpenStack : Ironic.
Dmitry Tantsur et Ilya Etingof de Redhat ont présenté le statut actuel et les dernières évolutions du projet.
 
Qu’est-ce qu’Ironic ?
Ironic est un outil de provisionning de serveurs baremetal (serveurs physiques). Il vise à rendre la mise à disposition de serveurs physiques aussi simple que celle de machines virtuelles. Pour cela, Ironic propose une API, une interface en ligne de commande ou une interface web au travers de horizon.
Ironic peut être utilisé classiquement au travers d’OpenStack, et peut maintenant aussi être installé en stand-alone et donc être complètement séparé du projet OpenStack.
                                                                                                       
Ironic fonctionne en plusieurs phases.
Dans un premier temps, une phase d’introspection démarre le serveur en réseau (PXE) sur un noyau spécifique pour faire la découverte de cette nouvelle machine. 
Pour démarrer une machine, Ironic se connecte directement au réseau out-of-band d’administration bios des serveurs et sait discuter via différents protocoles, comme par exemple l’IPMI, largement utilisé pour ce cas. Cela permet de piloter le bios et d’indiquer de démarrer sur le disque ou un disque spécifique. Il a ainsi la main sur l’arrêt / démarrage / redémarrage du serveur.
Beaucoup de caractéristiques sont récupérées au moment de l’introspection. Citons par exemple la RAM, le CPU, divers périphériques comme les interfaces réseaux, leurs mac... Ces tests sont personnalisables et peuvent être enrichis.
 
Une fois cette introspection passée, la machine est éteinte, nettoyée et mise a disposition via l’API, la ligne de commande ou l’interface GUI.
Tout est maintenant prêt pour l’usage central d’Ironic : le provisionning !        
Une requête de serveur est soumise à Ironic. Elle intègre un qcow (image serveur) à installer sur un serveur respectant certaines caractéristiques. On peut par exemple demander un serveur avec un processeur x86_64, ayant au minimum 8g de ram et ayant un flag particulier que l’on définit pendant l’introspection, par exemple deux cartes réseau gigabit.
Une fois cette demande reçue, Ironic va chercher le serveur adapté et commence à le démarrer en réseau sur une image d’installation. Cette image va servir au partitionnement du serveur et à l’installation de l’image demandée. Une fois ceci fait, le serveur redémarre sur le système fraîchement installé et le rôle d’Ironic s’arrête là.
L’avenir du projet
Le projet est toujours en expansion et devrait notamment intégrer différentes fonctions permettant de travailler sur des systèmes hyper-convergés. Des fonctionnalités au niveau conteneurs sont également prévues. Niveau Bios, les questions en cours de résolution concernent la possibilité de faire des mises à jour de firmware. Un travail est fait sur la mise à disposition de consoles série, d’un mode rescue, des améliorations niveau configuration réseau, la possibilité de déployer des templates ou d’avoir une console graphique.  
 
En savoir plus :

Cilium

Présenté par Michal Rostecki

 

La track SDN était principalement basée sur BPF, système de filtrage de paquet au niveau Kernel. Cilium, une solution réseau pour Kubernetes utilisant BPF, a eu droit à une conférence dédiée à ses nouveautés.
Dans sa release 1.4, Cilium permettra la création de services entre plusieurs clusters Kubernetes, en effectuant le routage sur des pods pouvant être dans différents clusters.
Une des nouveautés est l’intégration de Cilium au-dessus de Flannel pour les clusters déjà en place.
Flannel va gérer l’allocation IP et la création des veth. Cilium s’occupera de la sécurité et du filtrage BPF.

 

En savoir plus :


Loki : Like a Prometheus but for log

Présenté par Tom Wilkie

 

Loki est un projet récent (mars 2018) qui permet l’agrégation de logs, inspiré par Prometheus.
Loki peut être installé dans un k8s pour profiter de:
  • La mise à l’échelle (scalabilité horizontale)
  • La haute disponibilité
  • La transversalité à différents projets (Multi-tenants)
Ce produit paraît simple d’utilisation, ne nécessite pas d’avoir une énorme infrastructure et s’intègre facilement dans une infrastructure existante. Les objets sont indexés avec des labels et stockés dans des fichiers.
‘Cloud native through and through’
Loki fonctionne avec conteneurs, kubernetes, microservices et le stockage cloud.
Comme c’est un projet récent, il n’y a pas encore de benchmark disponible dessus.
Pour le moment, il n’est pas possible de masquer les données sensibles (exemple : mots de passe), mais cette fonctionnalité se trouve dans la roadmap.

En guise de conclusion : Loki semble vraiment prometteur mais n’est pas encore mature. Nous allons garder un œil dessus et planifions de le tester prochainement afin de tester ses performances.

 

En savoir plus :