Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Martin Souchal
container4science
Commits
20ec0e4d
Commit
20ec0e4d
authored
Jul 09, 2021
by
Martin Souchal
Browse files
landscape
parent
498cf727
Pipeline
#127862
passed with stages
in 1 minute and 48 seconds
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
19 deletions
+28
-19
images/landscape-full.png
images/landscape-full.png
+0
-0
prez.html
prez.html
+28
-19
No files found.
images/landscape-full.png
0 → 100644
View file @
20ec0e4d
8.06 MB
prez.html
View file @
20ec0e4d
...
...
@@ -53,17 +53,6 @@
- Conclusion
---
# Les conteneurs
### Un peu d'histoire...
- Technologie apparue dans Solaris via les jails
- Basé sur les kernel namespaces (kernel 2.4.19) et les cgroups (kernel 2.6.24)
- LXC/LXD en 2008, Docker en 2013
- Kubernetes en 2014 chez Google
- 2015 : Docker top 15 GitHub, création de l'[Open Container Initiative](https://opencontainers.org/) (OCI)
<img
style=
"width:60%; float: right;"
src=
"images/landscape.png"
>
---
# Les conteneurs
### Principe de base
- A l'arrêt, un conteneur est un fichier (ou un ensemble de fichiers) qui est enregistré sur un disque.
...
...
@@ -72,13 +61,30 @@
- Une fois lancés, les conteneurs sont un processus Linux comme un autre.
- Un conteneur est immuable (modifier un conteneur = créer un nouveau)
---
# Les conteneurs
### Un peu d'histoire...
- 1979 : chroot
- 1999 : jails (Solaris/BSD)
- 2005 : OpenVZ
- Ajout dans le noyau linux des namespaces (kernel 2.4.19) et des cgroups (kernel 2.6.24)
- LXC/LXD en 2008
- Docker en 2013, début du DevOps
- Kubernetes en 2014 chez Google, Nomad chez HashiCorp
- 2015 : Docker top 15 GitHub, création de l'[Open Container Initiative](https://opencontainers.org/) (OCI)
<img
style=
"width:60%; float: right;"
src=
"images/landscape.png"
>
---
<img
style=
"width:100%;"
src=
"images/landscape-full.png"
>
---
# Open Container initiative (OCI)
*Le processus de démarrage des conteneurs, ainsi que le format de l'image sur le disque, sont définis et régis par des normes.*
- Gouvernance ouverte chapeautée par la Linux Foundation
- Standard pour les runtimes et les images de conteneurs (pas les manifestes !)
- Gouvernance ouverte chapeautée par la Linux Foundation
pour répondre à la volonté d'avoir un écosystème hétérogène dans K8S.
- Standard pour les runtimes
(CRI)
et les images de conteneurs (pas les manifestes !)
- Ligne de commande unifiée
```bash
...
...
@@ -92,7 +98,7 @@
---
# Vocabulaire
- Runtime :
moteur
chargé d'executer le conteneur
- Runtime :
logiciel
chargé d'executer le conteneur
(docker, lxd, runc, containerd, cri-o, singularity....)
- Image : fichier (ou un ensemble de fichiers) enregistré sur un disque
- Manifeste : Fichier texte, "recette" du conteneur
- Registre : un serveur abritant des images de conteneurs
...
...
@@ -131,11 +137,14 @@
---
# Runtimes
- Runtimes bas niveau : runc (docker), LXC/LXD, crun, conmon (RedHat), nvidia-docker (Nvidia)
- Runtimes haut niveau : Docker, Singularity, Podman (RedHat), containerd (Docker), CR-IO (Kubernetes), enroot (Nvidia), SmartOs (Samsung)
- Runtimes bas niveau (proche du kernel) : runc (docker), LXC/LXD, crun, conmon (RedHat), nvidia-docker (Nvidia)
- Runtimes haut niveau (réseau, etc...) : containerd (Docker), CR-IO (Kubernetes), enroot (Nvidia), SmartOs (Samsung), Singularity CRI
- Outils : Docker, Singularity, Podman (RedHat)
- MicroVms : KataContainer (INTEL), Firecracker (AWS), gVisor (google)
- Image builder : buildah, img, orca-build...
*Toutes ces solutions sont interopérables grâce à OCI.*
<img
style=
"width:30%;"
src=
"images/runtime-architecture.png"
>
<img
style=
"width:20%;"
src=
"images/docker-runtime.png"
>
...
...
@@ -328,9 +337,9 @@
# Docker et le calcul
### Un écosystème pas très adapté...
- Docker est adapté pour les micro services (un conteneur, un service), pas très facile de gérer des cha
i
nes de calcul
- Docker est adapté pour les micro services (un conteneur, un service), pas très facile de gérer des cha
î
nes de calcul
- Network namespace et compatibilité matériel réseau pour cluster (Intel OmniPath, Infiniband...)
- Aucun support MPI
- Aucun support MPI
, support GPU non natif
- Image docker : superpositions de couches, pas très portable dans un cluster
- Sécurité :
- daemon root à installer sur tous les noeuds de calculs...
...
...
@@ -461,7 +470,7 @@
* Infrastructure Cloud (Container Library, Remote Builder, et Keystore)
* Possibilité d’exécuter des images Docker et OCI
* Support/isolation réseau (plugins CNI / root uniquement)
* Libre et gratuit / Version pro payante
* Libre et gratuit
(version CE)
/ Version pro payante
---
background-image: url(images/singu.png)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment