Slide 1

Slide 1 text

: Un bon remplaçant à Docker ?

Slide 2

Slide 2 text

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.

Slide 3

Slide 3 text

Akram BLOUZA Cloud Designer / Builder, Wescale @akram_wewe akramWewe WescaleTV

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Acteurs

Slide 9

Slide 9 text

CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Container Runtime Interface (CRI)

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud Docker avec Kubernetes

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRIO

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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.

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

CRI-O: Un bon remplaçant à Docker ? - WeSpeakCloud CRIO ET SES AMIS

Slide 25

Slide 25 text

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.

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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.

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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 ?

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

Questions ?

Slide 32

Slide 32 text

23 rue Taitbout 75009 Paris www.wescale.fr | blog.wescale.fr Akram Blouza Cloud Designer / Builder, Wescale [email protected] @akram_wewe akramWewe