Commit f74854c3 authored by Martin Souchal's avatar Martin Souchal
Browse files

ajout cgroups

parent 20ec0e4d
Pipeline #128100 passed with stages
in 1 minute and 58 seconds
......@@ -3,6 +3,3 @@
Ces dernières années ont vu l'explosion de l'écosystème des technologies de conteneurs, porté par la popularité de Docker. L'avènement de ces nouveaux outils ouvre des perspectives intéressantes pour le déploiement logiciel, mais aussi la reproductibilité des environnements de développements. Ce sont aussi des avancées importantes pour les utilisateurs de centres de calcul. D'une part, ils permettent de porter facilement les codes sur l'échelle de la pyramide du calcul : de l'ordinateur portable aux machines de niveau européen. D'autre part, ils fonctionnent particulièrement bien avec les systèmes d'intégration continue qui sont devenus incontournables en génie logiciel. Enfin, ils s'accompagnent d'avancées dans d'autres domaines connexes comme le stockage ou les ordonnanceurs de tâches.
## TODO
* Cgroups V2
* Nerdctl
......@@ -228,7 +228,47 @@
<img style="float: right;" src="images/software-supply-chain.png" >
.footnote[SetUID : un programme lancé avec le droit “suid” sera exécuté avec les droits du propriétaire du programme et non les droits de l'utilisateur qui l'a lancé]
---
# Registres publics
# Cgroup
*Fonctionnalité du kernel Linux permettant :*
* Limitation de ressources (CPU, mémoire, réseau...)
* Gestion des priorités
* Comptes
* Contrôle
* Utilisé dans les schedulers (slurm...)
---
## cgroup(v1)
<img style="float: right; width: 50%;" src="images/2019-06-12-cgroups-fig1.png" >
* 13 contrôleurs (cpu, cpuacct, hugetlb, cpuset, freezer, net_cls, net_prio, devices, pids, perf_event, rdma, memory, bulkio)
* Donne des limites aux ressources disponible
* kill ou freeze en cas de dépassement
* Un cgroup comprend un ou plusieurs contrôleurs
* Pb : chaque contrôleur cgroup est indépendant et chaque contrôleur ne peut être utilisé qu'une seule fois
.footnote[Source : [RedHat](https://www.redhat.com/en/blog/world-domination-cgroups-rhel-8-welcome-cgroups-v2)]
---
## cgroup(v2)
<img style="float: right; width: 50%;" src="images/2019-06-12-cgroups-fig2.png" >
* 29 octobre 2019 dans Fedora 31
* Modèle unifié, plus simple
* Un contrôleur peut être utilisé plusieurs fois
* Contrôleurs réécrits (cpu, hugetlb, cpuset, freezer, devices, pids, perf_event, rdma, memory, io)
* Basé sur eBPF (strace, analyse réseau) : plus performant
* Permet les conteneurs non-root avec la même sécurité et les mêmes fonctionnalités (crun, containerd, usernetes...)
.footnote[Source : [RedHat](https://www.redhat.com/en/blog/world-domination-cgroups-rhel-8-welcome-cgroups-v2)]
---
# Partage de conteneurs
## Registres publics
* Images vérifiées
- [NVIDIA NGC](https://ngc.nvidia.com) - images orientées GPU
......@@ -240,9 +280,10 @@
- [Sylabs cloud](https://cloud.sylabs.io/) - images signées
- [Quay.io](https://quay.io/) (scan de sécurité)
<img style="width:200px;float: right;" src="images/csan.png" >
<img style="width:100px;float: right;" src="images/csan.png" >
---
# Registres privés
# Partage de conteneurs
## Registres privés
- Gitlab (Registre Docker)
- Harbor (Registre Docker)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment