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 !

Speakers : Pierre-Yves Aillet, Eric Briand

Pierre-Yves Aillet

March 30, 2018
Tweet

More Decks by Pierre-Yves Aillet

Other Decks in Technology

Transcript

  1. 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. ?

  3. 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
  4. • 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 • 1 release : version 0.2 Le projet
  5. 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
  6. kernel: image: linuxkit/kernel cmdline: “console=tty0 console=ttyS0” init: - linuxkit/init -

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

    O.S. • rtf : tester l’image • Outils annexes : Hyperkit, VPNkit, infrakit Les outils
  8. 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
  9. Exécution Kernel Init containerd runC runC runC config.json rootfs dhcpcd

    config.json rootfs getty config.json rootfs sshd
  10. • Démarrage d’un premier O.S. rapide • Projet jeune et

    encore en construction • Debugging et logging complexe • Séparation Linuxkit/Docker à clarifier Nos retours