Upgrade to Pro — share decks privately, control downloads, hide ads and more …

C'est quoi un conteneur ?

C'est quoi un conteneur ?

Avatar for Guilhem Lettron

Guilhem Lettron

March 03, 2020
Tweet

More Decks by Guilhem Lettron

Other Decks in Technology

Transcript

  1. Caisson métallique parallélépipédique conçu pour le transport de marchandises par

    différents modes de transport. Ses dimensions ont été normalisées au niveau international. Il est muni à tous les angles de pièces de préhension permettant de l'arrimer et de le transborder d'un véhicule à l'autre
  2. Myth et légendes • C’est de la virtualisation ? ◦

    Ca doit être moins rapide • C’est Docker ◦ CRI-o ? ◦ rkt ? ◦ LXC ?
  3. Problèmes • Performances ◦ Accès périphériques ◦ Démarrage • Utilisation

    des ressources ◦ Mémoire réservée par une VM est “occupée” pour l’hôte. • Intervention • Auditabilité
  4. Concrètement • Contextualisation d’un ensemble de programmes par le kernel.

    ◦ Réseau ◦ Système de fichier ◦ Processus ◦ etc
  5. Historique Conteneurs • Pas nouveau ◦ Chroot (1982) ◦ Jail

    (2000) ◦ V-Server (2001) ◦ OpenVZ (2005) • Cgroups/Namespaces : ◦ LXC (2008) • Docker (2013) ◦ LXC-over-REST ◦ Layers ◦ Application-centric
  6. Composants kernel • cgroups : limitation des ressources • namespaces

    : contextualisation • tout le reste du kernel (selinux…)
  7. Server ou app centric • Server-centric ◦ Historique ◦ Concept

    proche d’une VM ◦ Le premier process est un manager ◦ De nombreux processus vont fonctionner dans le contexte • App-centric ◦ Popularisé par Docker ◦ Concept proche d’un package ◦ Le premier processus est l’application ◦ Elle est seule dans son contexte
  8. Du tar… • Créer un conteneur ◦ Création de l’espace

    de fichier deboostrap, mock, … • Paramétrage ◦ Installation des logiciels ◦ Configuration • Déploiement ◦ tar
  9. … à l’OCI • Layers ◦ Déduplication ◦ Mise à

    jour différentielle • Meta-info ◦ Point d’entrée ◦ Port ◦ Utilisateur ◦ etc
  10. Outils de build • debootstrap … • docker / Dockerbuild

    ◦ Des étapes de script ◦ en root • buildah / Dockerfile ◦ userspace • ??
  11. Des formats pas satisfaisant • VM ◦ Compliqué à ▪

    créer ▪ auditer • Package ◦ Absolument pas agnostique de l’OS ◦ Black magic ◦ Effets de bord • Artefact (jar/war/… ) ◦ Dépendances système non-géré (→mail ? .docx ?) ◦ Dépendance à un écosystème
  12. Un format d’échange dans un univers DevOps • immutable (immuable)

    • autosuffisant • descriptif • (assez)léger →mise à jour +++
  13. Aucune raison de ne pas utiliser Au pire, vous avez

    les mêmes problèmes qu’avant, Mais plus facilement résolvable.
  14. Sécurité ? • auditabilité ◦ outils de vérification de l’état

    exact de la prod (ou future) • contextualisation kernel ◦ selinux a prévenu toutes les failles namespaces • contextualisation hardware ◦ Intel ?..