FOSDEM '19

thumbernail OpenStack

Comme tous les ans, une partie de l'équipe passe le week-end à Bruxelles, pas uniquement pour siroter des bières et manger des gaufres, mais aussi et surtout pour s'imprégner de l'ambiance du FOSDEM. RDV était donc pris à l'Université Libre de Bruxelles. S'il y a des FOSDEM sans neige, des FOSDEM avec neige, celui-ci sera clairement dans la catégorie des "avec" au vu du manteau blanc qui avait recouvert la ville en ce samedi matin. Attention donc aux glissades !

Vous trouverez pour chaque conférence que nous mentionnons dans cet article un lien vers la page de la conférence sur le site du FOSDEM. L'organisation du FOSDEM étant toujours très efficace, vous devriez à partir de là trouver les supports de présentation et la vidéo.

Stand OpenStack

Là aussi c'est une habitude, avec d'autres membres d'OpenStackFr et plus généralement de la communauté, et avec le soutien de la Fondation, nous organisons la présence d'un stand OpenStack.

Beaucoup de visiteurs tout au long de la journée, des échanges intéressants, pas mal de stickers distribués. Nous expliquons la stratégie récente de la Fondation au sujet d'"Open Infra", avec les pilot projects au-delà d'OpenStack que sont Kata Containers, Zuul, Airship et StarlingX.

IaaS devroom

Ironic

La devroom Infrastructure as a Service accueille cette présentation d'Ironic, projet OpenStack de déploiement bare metal.

Ironic existe depuis maintenant plusieurs années, et sa maturité permet son utilisation dans différents contextes, notamment aussi bien dans un cloud OpenStack afin de fournir un service de déploiement bare metal, qu'en mode "standalone" sans que les autres composants OpenStack ne soient nécessaires. Et ce même si Ironic trouve son origine dans le driver nova-baremetal, qui permettait donc au composant de Compute Nova d'OpenStack de déployer des instances bare metal.

Dmitry Tantsur et Ilya Etingof commencent par rappeler pour quelles raisons on souhaite parfois (encore) déployer du bare metal : puissance de calcul brut, utilisation facilitée de certains matériels difficiles à virtualiser ou encore isolation à toute épreuve.

Avant le déploiement d'un OS en tant que tel, Ironic passe par plusieurs étapes nécessaires, notamment :

  • l'inspection : découvrir les informations concernant la machine
  • le nettoyage : mettre ou remettre toutes les configurations au bon niveau

Côté réseau, Ironic sait tirer partie des fonctionnalités offertes par le composant réseau d'OpenStack, Neutron, mais peut également utiliser des réseaux existants sans difficulté particulière.

D'autres fonctionnalités encore existent mais n'ont pas été détaillées - par manque de temps - lors de la présentation. On peut citer la mise à jour de firmware, ou le mode "rescue".

https://fosdem.org/2019/schedule/event/vai_bare_metal_in_the_cloud/

Containers devroom

What's going on with storage : new and upcoming Kubernetes storage features

John Griffith, Red Hat, ex PTL de Cinder, présente les nouvelles fonctionnalités présentes dans CSI (Container Storage Interface).

CSI est l'abstraction des drivers de stockage dans Kubernetes, et a notamment pour but de sortir les plugins in-tree de Kubernetes, un travail qui est toujours en cours aujourd'hui. CSI est stable depuis Kubernetes 1.13.

Parmi les fonctionnalités développées actuellement, on notera :

  • Redimensionnement des volumes : la version 1.10 a commencé l'implémentation de la feature de redimensionnement de volume, pour le moment uniquement offline. Dans le futur, le redimensionnement sera possible sur des volumes en cours d'utilisation.
  • Topology awareness : permet aux drivers de s'appuyer sur la topologie des nœuds afin de spécifier des volumes.
  • Local PVC : GA for 1.14 : allocation de stockage local directement sur les nœuds.
  • Snapshot de volume : déjà présente en alpha depuis la 1.12, elle s'appuie sur des CRD et un contrôleur externe, les nouvelles fonctionnalités en cours de développement sont les snapshots par groupe de volumes ainsi qu'une meilleure gestion de la cohérence des snapshots (par freeze de l'application / système de fichiers).
apiVersion: snapshot.storage.k8s.io/v1alpha1
kind: VolumeSnapshot
metadata:
    name: new-snapshot-demo
    spec:
        snapshotClassName: csi-hostpath-snapclass
        source:
            name: hpvc
            kind: PersistentVolumeClaim
  • Inline-volume : avant la notion de PVC/PV, les volumes pouvaient également être définis directement dans les manifestes de pods, le but est de continuer de supporter cette fonctionnalité mais de la rendre compatible avec les drivers CSI "out-of-tree" tout en continuant de bypasser la notion de PVC/PV.
kind: Pod
apiVersion: v1
metadata:
    name: my-csi-app
    spec:
        containers:
            - name: my-frontend
              image: busybox
              volumeMounts:
              - mountPath: "/data"
                name: my-csi-inline-vol
              command: [ "sleep", "1000000" ]
        volumes:
        - name: my-csi-inline-vol
          csi:
            driver: csi-hostpath
  • Transfert de PVC entre namespaces : clonage de volume, partage de volume ou de snapshot entre utilisateurs.

  • Populator : c'est la nouvelle fonctionnalité, qui va permettre de se passer un peu plus des "initContainer" puisqu'elle va permettre de peupler un volume avec une source de données, par exemple un dépôt git, un blob, un snapshot etc.

https://fosdem.org/2019/schedule/event/containers_k8s_storage/

Firecracker as a container runtime

Nous avions parlé des containers runtime dans un autre article du blog il y a quelques temps.

Pour rappel, une container runtime représente l'élément s'occupant de la création des conteneurs. La plus connue et la plus utilisée est runc (implémentation officielle de la spécification de l'OCI) mais on peut aussi citer Kata Containers (de la Fondation OpenStack) ou Frakti.

Dans ce talk, la présentation se concentre sur Firecracker. Firecracker ressemble beaucoup à Kata containers quant à ses objectifs. Le but est de fournir une isolation physique entre les conteneurs en utilisant une machine virtuelle légère pour chaque conteneur. Ceci est bien entendu une réponse au problème de sécurité posé par les conteneurs. Avec ce genre de runtime, on atteint un point d'équilibre intéressant entre "conteneur" et "VM traditionnelle". Le fonctionnement de Firecracker est basé sur crosvm, le Virtual Machine Monitor de ChromeOS. C'est lui qui permet de créer ces VMs légères en n'émulant aucun hardware : il se contente de fournir un environnement isolé grâce à une sandbox.

Au sein de Kubernetes, Firecracker s'interconnecte avec CRI-O mais peut aussi être placé en runtime de Kata containers.

Il est intéressant de noter que Firecracker est à la base des services Lambda et Fargate d'Amazon Web Services.

https://fosdem.org/2019/schedule/event/containers_firecracker/

SDN devroom

Cilium - overview and recent updates

Michal Rostecki dans ce talk présente les nouvelles fonctionnalités de la nouvelle version de Cilium.

Cilium est un projet open source permettant d'assurer et de fournir une connectivité réseau sécurisée entre les services d'application déployés à l'aide de plates-formes de gestion de conteneurs Linux telles que Kubernetes, Docker Swarm et Mesos et tout cela de manière transparente.

Cilium repose sur une nouvelle technologie de noyau Linux appelée BPF, qui permet l'insertion dynamique de mécanismes de sécurité, de visibilité et de contrôle de réseau au sein du noyau Linux.

Après avoir présenté l'architecture générale de Cilium, la session s'est concentrée sur les nouveautés de la version 1.3 sortie en Décembre 2018 dont les plus importantes sont :

  • L'intégration avec Istio, un outil de Service Mesh s'appuyant sur Envoy
  • Le support d'autres container runtimes comme cri-o ou containerd
  • L'ajout et l'exposition de nouvelles métriques Prometheus
  • Le support de Cassandra et Memcached en beta
  • L'intégration avec Kube-router

Il faut aussi noter qu'il s'agit d'une version LTS, qui sera supportée pendant 6 mois avec des versions mineures intégrant des backports.

La session s'est terminée avec les nouveautés importantes de la version 1.4 à venir telles que l'intégration avec flannel, et l'intégration des global services permettant à un utilisateur d'avoir un même service Kubernetes disponible sur plusieurs clusters.

https://fosdem.org/2019/schedule/event/cilium_overview_and_updates/

Retrocomputing devroom

Parce que c'est le week-end tout de même :-)

Open source Projects at Silicium : retrocomputing association

Présentation de l'association française Silicium, une association de passionnés de rétrogaming (jeux des années 80-90). L'objectif principal de cette association est de faire vivre ces jeux et plateformes de jeux considérés aujourd’hui comme anciens, ou selon d’autres passionnés, comme cultes. Afin de remplir cet objectif, l’association s’attelle à la restauration des plateformes de jeux concernés, en réparant et en améliorant le hardware, tout en restant proches de la conception originale, ou bien à la réimplémentation hardware de la plateforme en exploitant des puces FPGA et leurs performances souvent plus accrues, ou encore l’émulation de la plateforme à un niveau purement software. Le seul but de l'association étant la préservation de ces jeux et plateformes dans la mémoire collective et peut-être la transmission de la passion pour ces jeux.

Suite à la présentation de l'association en elle même, les membres nous ont montré leurs travaux concernant le classique "Bomberman" . Ils ont pu travailler sur un NEC PC-Engine, en le remettant un peu au goût du jour, en lui augmentant ses capacités. Puis, ils ont joué sur leur plateforme MiSTER (FPGA) et comparé l'expérience de jeu avec leur plateforme Raspberry Pi, qui, finalement pour ce jeu, offre plus ou moins la même chose.

Cette présentation très ludique m'a décidément donné envie d'aller m'intéresser de plus près à cette association et de rejouer à des jeux de mon enfance ! Non ce n'est pas vrai... je l'avoue je n'étais encore qu'un projet à cette époque là. Cependant, le défi technologique de réimplémenter les premières plateformes de jeu reste très intéressant, non seulement pour les personnes ayant connu cette grande époque, mais aussi pour les plus jeunes qui ne connaissent souvent que certaines images pixelisées de ces classiques.

https://fosdem.org/2019/schedule/event/retro_hw_emulation/

Découvrez les technologies d'alter way