Compte-rendu du meetup Openstack du 28 février

Mardi 28 février 2017 avait lieu le meetup "Containers avec OpenStack" dans les locaux de RedHat et sponsorisé par Nuage Networks.

Voici ce que nous en avons retenu.

Assemblée générale OpenStack FR

La première partie de ce meetup a été l'assemblée générale de l'association OpenStack FR qui compte aujourd'hui 49 membres.

En résumé :

  • l'association regroupe les groupes de Lyon, Toulouse et Rennes.
  • les évènements de l'année 2016 ont été passés en revue, notamment les meetups, l'Openstack Day du 22 novembre 2016 ainsi que les OpenStack Workshop. Un appel à contribution / idée est lancé pour l'année 2017, alors n'hésitez pas.

Session 1 - Openstack Magnum Pike and the CERN cloud (par Spyros Trigazis du CERN)

Magnum dans OCATA

Nous avons eu droit à une présentation de Magnum - le composant Openstack dédié aux containers - dans sa version OCATA, la dernière version d'Openstack.

Magnum se veut une intégration avec les principaux orchestrateurs de containers : Kubernetes, Docker Swarm, DC/OS (experimental) et Mesos.

Cette intégration se fait au niveau des modules OpenStack suivants :

  • instances (compute)
  • réseau / Load balancer
  • stockage
  • securité
  • lifecycle operations (scale up /down)

Magnum est là pour gérer un cluster d'orchestration, pas se substituer à l'orchestration des containers. L'API native de gestion des containers est donc préservée (actuellement, seul Docker est supporté).

L'API est des plus simples :
$magnum cluster-create | cluster-list | cluster-config | ...

Magnum se traduit par des plugins au sein des modules Openstack, des templates HEAT et des scripts cloud-init qui gèrent les OS : atomic / CoreOS / CentOS / Ubuntu.

Magnum @CERN

Pour rappel, Openstack au CERN c'est depuis 2013 : 216k cores / 4 millions VM.

Les principaux cas d'utilisation de Magnum sont :

  • batch processing
  • end user analysis : Tensor flow / machine learning
  • move of web servers (infra)

En complément, de Magnum certains containers de management sont lancés via RunC.

Magnum dans PIKE

Spyros a annoncé les principaux axes de développement arrétes lors du dernier Project team Gathering (PTG) Magnum pour la prochaine version d'OpenStack "Pike".

  • gestion des rolling upgrade de clusters. La finalité est d'avoir une commande du type: $magnum cluster-upgrade -version X
  • gestion de clusters hetérogènes : noeuds physiques et VMs répartis sur différentes zones de disponibilités
  • monitoring intégré (grafana / advisor / prometheus)
  • logs

L'objectif est d'avoir les premiers prototypes pour le mois d'avril.

Session 2 - Container scaling with SDN Nuage Networks (par Dominique Schaeffer de Nuage Networks)

Partant du constat que Magnum est une solution à suivre mais pour le moment peu déployée en entreprise, Nuage Networks fournit des éléments fidèles à sa philosophie : fédérer les policies d’accès quelque soit la ressource (baremetal / VM (KVM / HyperV / VMWare) / cloud publique / privé)

L'approche retenue par Nuage concernant les containers est similaire à celle mise en place pour les VMs avec Openstack.
Via des plugins, le "policy manager" Virtualized Services Discovery (VSD) intercepte les créations de services depuis différents orchestrateurs de containers (Docker Swarm / Mesos / Kubernetes) pour mettre à jour les vue des règles OpenVSwicth (OVS).
Dans ce sens, Nuage fournit un outil qui analyse les 'Network policy' Kubernetes pour les traduire en policy Nuage.

Le composant Virtual Routing and Switching (VRS) au niveau de l'OS hôte des containers s'interconnecte avec le VSD pour appliquer les règles OVS.

Les intérêts du SDN sur des containers sont :

  • IP flexibles, voire IPs identiques sur différents tenants (full multi tenancy)
  • support d'intégration hybrides (VM <-> container <-> physique)
  • standard de sécurité au niveau de la gestion des flux réseaux
  • monitoring et troubleshooting : mirroring de flux pour analyse / alarmes

Pour ceux qui souhaitent tester Nuage Networks, le site NuageNetworksExperience est là. La partie VSD gérée par Nuage peut se brancher sur une infrastructure exposée sur Internet.

Session 3 - Retour d'expérince Containers avec Openstack (par Kevin Lefevre d'Osones)

Historique et positionnement de Magnum.

Magnum a été lancé en 2014 mais a un taux d'adoption assez faible.

Dans un premier temps, Magnum a été une encapsulation de l'API Kubernetes sur OpensStack.
En V2, Magnum a été réécrit pour ne gérer que le déploiement de Container Orchestration Engine (COE): Kubernetes / Mesos / Docker Swarm.
Aujourd'hui, il est donc impossible de créer des containers depuis Magnum, seulement un cluster COE.

Le principal reproche qui pourrait être fait à Magnum est sa stabilité (qui s'améliore) et son cycle de versions.
Sur ce point Magnum et les drivers COE qu'il intègre sont alignés sur le rythme des versions d'Openstack (~ 6mois), ce qui semble bien long par rapport aux cycles de versions combinés de Kubernetes / Mesos et Docker Swarm.
Une solution serait de décoréler le composant Magnum Openstack (API) et les drivers COE qu'il utilise.

Openstack ansible

La réalisation de patchs pour Magnum - ainsi que tout autre composant Openstack - est facilité par Openstack Ansible.
Par rapport à Devstack, c'est un système de déploiement officiel qui peut se baser sur des sources python et pas uniquement des repositories.