Kubernetes Community Days France 2023

thumbernail kubernetes

L'évènement

Le 7 mars 2023, la communauté tech s'est réunie au Centre Pompidou situé au cœur de Paris pour une journée de conférences sur les technologies Cloud Native et DevOps.

Retrouvez KCD france sur linkedin ou Twitter

Prompt Dall-E :

Create a digital illustration of the iconic Le Centre Beaubourg building in Paris, France, incorporating the logo of Kubernetes in a creative and seamless manner. Your design should showcase the unique architecture of the building while also highlighting the modern and innovative nature of Kubernetes.

Quelques métriques :

  • 1000 participants
  • 30+ partenaires
  • 34 sessions
  • 1 jour
  • Guest Star : Solomon hykes (fondateur de Docker Inc et de dagger.io)

Magré les grèves et le froid beaucoup de participants se sont donnés rendez-vous très tôt ce 7 mars au Centre Pompidou pour assister à de nombreuses conférences, "lightning talks" de très grande qualité.

Cet article n'est qu'une courte rétrospective des conférences qui m'ont particulièrement plu.

Keynote d'ouverture

En duplex depuis les 3 salles de cinéma de centre Beaubourg, j'ai eu la chance d'être dans la salle "bleue" ou officiait Jérome Pettazon. Il a lancé la journée et a appelé sur scène son ancien boss chez Docker.inc Solomon Hykes

Jérome a posé des questions sur la vision qu'avait Solomon sur l'avenir de Kubernetes. Il nous a rassuré 😉 ! Kubernetes ne va pas disparaître et est arrivé dans une zone de stabilité relative. Des questions aussi sur ce qui titille Solomon en ce moment : Of course Dagger (on a eu le droit a une petite présentation du produit) et comme certainement toutes les communautés tech du monde chatGPT. Ensuite les salles Blanche et Rouge sont intervenues pour continuer la keynote.

Si je ne devais retenir qu'une conférence

Kescape

Ça serait celle sur kescape par Agaetis. Une plateforme de type escape game basée sur Kubernetes permettant à la fois d'évaluer des candidats mais aussi faire de la formation ou des préparations aux certifications cka, ckad, cks. Chaque room propose un challenge à résoudre pour en sortir et atteindre une nouvelle room. Le tout est ponctué d'animations présentées dans un site web qui présente les challenges et la progression du joueur. Agaetis doit très prochainement "open-sourcer" le projet.

Autres conférences qui ont retenu mon attention

L'implémentation des VPC pour Kubernetes chez scaleway par Louis Portay

Louis nous a présenté une "fonctionnalité" très attendue, mais encore en beta permettant de sécuriser (enfin) les flux réseaux vers et depuis un cluster Kubernetes kapsule. Je me demande toujours pourquoi cette sécurisation réseau n'a pas été conçue et déployée depuis le début du cloud public de Scaleway.

Kubevirt - Le déploiement de VMs dans Kubernetes

Certains workloads ne sont pas complètement prêts pour passer à la conteneurisation. kubevirt est une solution pour accélérer le passage de ces applications dans un écosystème Kubernetes et de faire en sorte que des applications en mode vm coexistent avec d'autres applications déjà "cloud native". La solution est intéressante et existe depuis maintenant un certain temps, par contre n'espérez pas avoir des performances de folie en faisant de la virtualisation dans de la virtualisation. Cette solution s'applique plutôt à des noeuds Kubernetes en mode "bare-metal" ce qui limite quand même le champ d'application de cette techno. Mon avis : déployez des solutions hybrides (vm + Kubernetes) dans le cloud et migrez au fur et à mesure.

Voici un exemple de manifest pour créer une machine virtuelle en utilisant KubeVirt:

apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
  name: ma-belle-vm
spec:
  running: false
  template:
    metadata:
      labels:
        vm: my-vm
    spec:
      domain:
        devices:
          disks:
            - name: containerdisk
              volumeName: containerdisk
          interfaces:
            - name: default
              bridge: {}
        resources:
          requests:
            memory: 2Gi
            cpu: 2
      terminationGracePeriodSeconds: 0
      volumes:
        - name: containerdisk
          containerDisk:
            image: hl-os:1.0.0
            imagePullPolicy: Always

Dans cet exemple, nous créons une machine virtuelle nommée "ma-belle-vm" en utilisant une image de conteneur nommée "hl-os:1.0.0". La machine virtuelle a une demande de 2 Go de mémoire et 2 cœurs de CPU. Elle utilise un disque nommé "containerdisk" qui est monté à partir d'un volume conteneur. Le disque et l'interface de réseau utilisent le pilote par défaut de KubeVirt. La machine virtuelle est en mode "stopped" au départ (running: false) et elle n'attend pas de période de grâce pour la terminaison (terminationGracePeriodSeconds: 0).

Comment construire des plugins pour la CLI kubectl

Une présentation dynamique et sympa pour étendre les fonctionnalités de kubectl.

Références :

L'intérêt d'utiliser des opérateurs Kubernetes

Une présentation du framework operator SDK permettant de créer des opérateurs Kubernetes en Go, Helm et Ansible

Les opérateurs sont faits pour simplifier le cycle de vie des applications et d'avoir une "Custom resource" pour gérer cette application.

En résumé, un opérateur Kubernetes est un outil puissant qui permet d'automatiser la gestion d'applications dans un cluster Kubernetes, en réduisant la complexité et en permettant aux développeurs de se concentrer sur l'écriture de code plutôt que sur la gestion de l'infrastructure.

Un exemple avec l'operateur ECK on manipule très facilement un cluster elasticsearch simplement avec une "custom resource" permettant d'avoir une repésentation dans kubernetes d'un objet permettant de déploiement, la configuration, la mise à jour d'un cluster elastic simplement avec kubectl

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 8.6.2
  nodeSets:
  - name: default
    count: 1
    config:
      node.store.allow_mmap: false

Découvrez les technologies d'alter way