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

Linuxkit : le linux façon ikea

Linuxkit : le linux façon ikea

Cela fait des années que certaines distributions linux permettent de construire son linux “from scratch” mais cela restait une opération compliquée et périlleuse. LinuxKit propose la même chose mais avec une approche beaucoup plus moderne et outillée. Cela devient presque aussi facile que de monter un meuble ikea ! (avec une notice quand même)

Le projet LinuxKit, créé par Docker Inc., a été pensé pour créer un OS aussi minimaliste et maintenable que possible (sans compromis avec la sécurité) et y déployer des conteneurs.

Nous allons vous présenter la genèse et les concepts du projet, l’écosystème des outils complémentaires qui vous permettront de composer et construire votre distribution. Puis, nous créerons notre première distribution en live !

Pierre-Yves Aillet

April 19, 2018
Tweet

More Decks by Pierre-Yves Aillet

Other Decks in Technology

Transcript

  1. #DevoxxFR #LinuxKit Eric Briand Dev’ touche à tout à Zenika

    Nantes Organisateur du Docker Meetup Nantes @eric_briand @ebriand Pierre-Yves Aillet Consultant formateur à Zenika Nantes Bidouilleur de kernel @pyaillet @pyaillet
  2. #DevoxxFR #LinuxKit Les principes fondateurs • Tout composant de l’O.S.

    est un conteneur • Descripteur texte pour décrire l’O.S. • Immutable infrastructure • O.S. minimaliste, sécurisé • Construction et démarrage rapide
  3. #DevoxxFR #LinuxKit • A toolkit for building secure, portable and

    lean operating systems for containers • Créé par Docker Inc. et écrit en Go • https://github.com/linuxkit/linuxkit • 2 releases Le projet
  4. #DevoxxFR #LinuxKit pkg : dns, dhcpcd, sshd... kernel : de

    quoi compiler son kernel examples : des exemples de descripteurs linuxkit projects : systèmes complets basés sur linuxkit La structure du repository GitHub
  5. #DevoxxFR #LinuxKit kernel: image: linuxkit/kernel:4.14.34 cmdline: “console=tty0 console=ttyS0” init: -

    linuxkit/init:v0.3 - linuxkit/runc:v0.3 - linuxkit/containerd:v0.3 onboot: - name: dhcpcd image: linuxkit/dhcpcd:v0.3 command:[“/sbin/dhcpcd”, “--nobackground”, “-f”, “/dhcpcd.conf”, “-1”] services: - name: getty image: linuxkit/getty:v0.3 env: - INSECURE=true trust: org: - linuxkit Le plan de montage
  6. #DevoxxFR #LinuxKit • linuxkit : ◦ construire l’image O.S. ◦

    booter l’image O.S. • rtf : tester l’image • Outils annexes : Hyperkit, VPNkit, infrakit Les outils
  7. #DevoxxFR #LinuxKit Le résultat ssh containerd getty linuxkit build runc

    init mon-os.yml dhcpcd bin lib sbin containers ... onboot services config.json rootfs dhcpcd config.json rootfs sshd config.json rootfs getty
  8. #DevoxxFR #LinuxKit Exécution Kernel Init containerd runC runC runC config.json

    rootfs dhcpcd config.json rootfs getty config.json rootfs sshd
  9. #DevoxxFR #LinuxKit • Démarrage d’un premier O.S. rapide • Projet

    jeune et encore en construction • Debugging et logging complexe • Dépendance Linuxkit/Docker Nos retours