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

Pourquoi Cri-O est-il un bon remplaçant de Docker ? Par Akram Blouza

WeScale
July 11, 2019

Pourquoi Cri-O est-il un bon remplaçant de Docker ? Par Akram Blouza

Aujourd'hui Kubernetes est en train de devenir la référence sur l’orchestrateur de conteneur. Plusieurs interrogations restent toutefois sur le choix du moteur de conteneur qui exécutera vos Pods.

Docker est aujourd’hui l’outil de conteneurisation incontournable et le moteur de conteneur le plus utilisé avec Kubernetes, mais aurait-il un remplaçant ?

Et comment ce remplaçant, s’il existe, pourrait être intégré avec Kubernetes d’une manière transparente sans casser l’existant ?

Au programme de cette nouvelle session des #WeSpeakCloud :

Je vous expliquerai en détail : pourquoi CRI-O est un très bon remplaçant de Docker.

Ainsi, vous verrez qu’il est tout à fait possible de remplacer Docker par un autre moteur de conteneurs, respectant les standards OCI, dans un cadre standalone et utilisant l’orchestrateur Kubernetes.

Enfin, je déroulerai la liste des outils les plus répondus permettant la construction des images de conteneurs, le lancement des conteneurs tout en respectant le standard OCI : buildah, podman …

Quelques pré-requis pour profiter pleinement de ce rendez-vous :

- Avoir manipuler Docker et Kubernetes.

Mais les #WeSpeakCloud by WeScale késako ?
La transmission et le partage des connaissances font intégralement partie de nos valeurs chez WeScale.
C’est pour cela que nous avons décidé d'organiser les #WeSpeakCloud "et si nous parlions Cloud ?", une série d'évènements gratuits où nous pourrons apprendre et discuter ensemble sur des sujets actuels qui constituent les technologies et l'environnement Cloud.

WeScale

July 11, 2019
Tweet

More Decks by WeScale

Other Decks in Technology

Transcript

  1. Présentation CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud

    WeScale La transmission et le partage des connaissances font intégralement partie de nos valeurs chez WeScale. C’est pour cela que nous avons décidé d'organiser, les #WeSpeakCloud, une série d'événements gratuits où nous pourrons apprendre et discuter ensemble sur des sujets actuels qui constituent les technologies et l'environnement Cloud.
  2. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Plan

    ➢ Open Container Initiative (OCI) ➢ Container Runtime Interface (CRI) ➢ CRI-O et ses amis ➢ DEMO
  3. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Open

    Container Initiative • Problématique ? ➢ Plusieurs intervenants sur les containers ( Docker, google, Microsoft … ) ⇒ Besoin d’un standard pour mettre tout le monde d’accord. ⇒ Naissance de L’OCI: Juin 2015 • Objectifs ? ⇒ Créer un standard de la définition d’une “ image conteneur” https://github.com/opencontainers/image-spec ⇒ Créer un standard de gestion d’un conteneur ( runtime spec) https://github.com/opencontainers/runtime-spec ⇒ Fournir une référence d’implémentation du runtime spec runc: https://github.com/opencontainers/runc
  4. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Open

    Container Initiative: Fonctionnement unpack Registry OCI Image Filesystem Bundle OCI Runtime download run
  5. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Interaction

    Kubelet <-> Container runtime Kubernetes Master Service Proxy Kubelet Container Runtime Pod Pod Pod Kubernetes Worker
  6. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Un

    peu d’histoire ? Kubernetes Master Service Proxy Kubelet Pod Pod Pod Kubernetes Worker
  7. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Container

    Runtime Interface (CRI) ❏ Introduit dans Kubernetes 1.5 ❏ API Protocol buffer: https://github.com/kubernetes/cri-api/blob/master/pkg/apis/runtime/v1alpha2/api.proto ❏ Intègre deux services gRPC: ➢ Image Service: pull, inspect et delete images du repo ➢ Runtime Service: gestions cycle de vie des pods et conteneurs + Interaction entre conteneurs
  8. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Container

    Runtime Interface (CRI): Fonctionnement Kubernetes Master Kubelet OCI RUNTIME Kubernetes Worker CRI SHIM CRI Image Service CRI Runtime Service Container Runtime OCI CRI grpc
  9. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Docker

    avec Kubernetes ( version < 1.7 ) Kubernetes Master Kubelet Kubernetes Worker Docker OCI Docker Shim dockerd containerd (old) RunC CRI grpc grpc
  10. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Docker

    avec Kubernetes ( 1.7,1.8,1.9) Kubernetes Master Kubelet Kubernetes Worker Docker Engine OCI CRI- ContainerD ImageService / RuntimeService dockerd containerd 1.0 (old) RunC CRI grpc grpc
  11. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud A

    partir de Kubernetes 1.10 dockerd Docker Engine Kubernetes Master Kubelet CRI - Plugin Image Service Runtime Service OCI CRI grpc RunC Kubernetes Worker Containerd 1.x > 1.1 Docker Engine dockerd
  12. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRI-O:

    Introduction ❏ Container Engine implémentant uniquement Kubernetes Container Runtime Interface (CRI). ❏ Fonctionne avec toute Image respectant l’Open Container Initiative (OCI). ❏ Fonctionne avec tout registry de conteneur. ❏ Fonctionne avec tout OCI Container runtime ➢ crun, runc, Kata, gvisor
  13. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud ❏

    CRI-O fonctionne uniquement avec Kubernetes ❏ GitHub PR: 1500 + tests avant le merge. ❏ CRI-O version lié à Kubernetes ❏ CRI-O 1.14 fonctionne avec Kubernetes 1.14 ❏ CRI-O 1.13 fonctionne avec Kubernetes 1.13 ❏ CRI-O rejoint CNCF en Avril 2019 Objectif: Lancer les containers en production.
  14. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRI-O:

    Status ❏ Intégration avec les outils: sysdig, aquasec, nvidia ❏ CRI-O 1.13 livré avec OpenShift 4.1 comme le seul engine supporté ❏ CRI-O: Container Runtime sur Suse Caas Platform 3 ❏ Communauté large est: plus que 100 contributeurs ❏ PR / Issues prennent une moyenne de 4 jours pour être mergées. ❏ Plus que 90 releases
  15. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRI-O:

    Architecture Kubernetes Master Kubelet Kubernetes Worker CRI-O SHIM CRI Image Service CRI Runtime Service CRI - O OCI CRI grpc RunC Storage CNI conmon Security
  16. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud DEMO

    https://github.com/akramWewe/ CONTAINERS-TUTO.git
  17. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRI-O

    et ses amis: podman ❏ Les commandes podman sont les mêmes que Docker: alias docker=podman ❏ Plus besoin d’un daemon. ❏ Effectue des builds ( en appelant buildah ) ❏ Aide les utilisateurs la transitions vers K8s.
  18. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRI-O

    et ses amis: buildah ❏ Build des images OCI ❏ Plus besoin d’un daemon Docker pour le build des images. ❏ Possible de construire des images avec ou sans DockerFile
  19. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRI-O

    et ses amis: skopeo ❏ Inspecter les container images. ❏ Copier les conteneurs d’un endroit vers un autre. ( CRIO Container storage -> Docker Container storage ❏ Copier images entre deux containers registries.
  20. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud DEMO

    https://github.com/akramWewe/ CONTAINERS-TUTO.git
  21. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CONCLUSION

    ❏ CRI-O: un bon remplaçant à Docker ? ➢ Avec k8s: oui ➢ Hors k8s: podman et buildah ❏ CRI-O ou Containerd ?
  22. CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud J’AI

    APPRIS A DIRE CONTAINER AU LIEU DE DOCKER CONTAINER CONTAINER REGISTRY AU LIEU DE DOCKER REGISTRY IMAGE AU LIEU DE DOCKER IMAGE