From 135e37b03bae173d0d59a055e58511d64145fe69 Mon Sep 17 00:00:00 2001 From: craftbrak Date: Sat, 4 Jun 2022 11:57:12 +0200 Subject: [PATCH 1/4] orthographe a corriger --- "R\303\251seaux/Linux_container.md" | 71 +++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 "R\303\251seaux/Linux_container.md" diff --git "a/R\303\251seaux/Linux_container.md" "b/R\303\251seaux/Linux_container.md" new file mode 100644 index 0000000..14f76d2 --- /dev/null +++ "b/R\303\251seaux/Linux_container.md" @@ -0,0 +1,71 @@ +--- +layout: default +title:Conteneurs Linux +parent: Réseaux +--- +# Conteneurs Linux + +## Un Conteneur qu'est-ce que c'est ? [^1] +Le mot conteneur (conteneur en anglais) désigne plusieurs objets différents en informatique, dans notre cas ce dernier désigne un +environment d'exécution virtualiser. Un conteneur Linux (LXC) permet de faire tourner un programme sous linux sans devoir +tenir compte de l'environement + +## Quelle est la difference entre un conteneur linux et une machine virtuel ? [^2] +Lorsque l'on virtualise un environment, on crée généralement une machine virtuelle. Pour cela le système d'exploitation +exécute un programme qui est chargé de virtualiser tous les composants de la machine virtuelle (VM). Ce dernier alloue des +ressources à chaque composant de la VM, Il réserve une partie des cœurs du possesseur de l'hôte, une partie de la ram, +du disque dur ... + +La VM dé son démarrage aura accès à toutes ces ressources et elles lui seront entièrement réservée. De plus chaque VM +possède son systeme d'exploitation complet. +Contrairement a une machine virtuelle un conteneur Linux lui n'a pas de système d'exploitation complet. Il partage son +noyau (kernel) avec son hôte et les autres conteneurs. Cette difference majeurs permet au conteneur d'allouer et de libérer +des ressources a chaud. En effet vu qu'il n'y a qu'un seul kernel en charge des ressources ces dernières peuvent simplement +être transférée d'un conteneur a un autre comme s'il s'agissait de simple programme. + + +Les Conteneurs ne partagent cependant avec leur hôte que le kernel, tout le système de fichier est virtualisé, impossible pour un conteneur +d'accéder au "file system" de l'hôte (Il est cependant possible de créer des volumes accessibles depuis le conteneur et l'hôte). + +Contrairement à une Vm qui permet d'installer n'importe quel système d'exploitation (du moment que ce dernier est compatible +avec les composants virtuels), dans un conteneur Linux seul un système d'exploitation Linux peu être installé. +Et cela dû au partage de kernel (Linux désigne le kernel, il existe beaucoup de système d'exploitation qui l'utilise). + +## Pourquoi utiliser un conteneur Linux ? +Grace a leur absence de noyaux dédier un conteneur linux sera beaucoup plus leger qu'une machine virtuelle. +Tout l'intérêt des conteneurs est reveler lorsque l'on désire exécuter un programme (conçu pour Linux) de manière fiable sur plusieurs +machines différentes. +Le conteneur agira comme une capsule enfermant toutes les configurations nécessaires au programme. +Ce dernier peut donc être exécuté sans erreurs peu importe l'environement + +## Les technologies de conteneurs Linux [^3] + +Les conteneurs Linux utilise une api du kernel linux cette dernière utilise les cgroups et d'autre technologie de +cloisonnement de "name space" pour séparer le système hôte du conteneur. + +Plusieurs outils sont developer et maintenu par Canonical affin de facilité l'utilisation des conteneurs linux. + +### LXC +LXC est une interface permettant aux utilisateurs de gere simplement de conteneurs linux (elle est toujour maintenue par +Canonical mais est obsolete) + +### LXD +LXD est l'interface de nouvelle generation celle ci permet de gerer les conteneurs linux et les machine virtuelle de plus +elle utilise le format d'image linux. + +## Bibliographie + +* [^1]: "[LXC — Wikipédia](https://fr.wikipedia.org/w/index.php?title=LXC&oldid=184410394)". Fr.Wikipedia.Org, 2008, Accessed 3 June 2022. + + **Résumé** : Page wikipedia de LXC + **Avis sur la ressource** : Page wikipedia tres complete . + +* [^2]: "[LXC Container Vs VM - Let's Discuss In Detail!](https://bobcares.com/blog/lxc-container-vs-vm/)". Bobcares, 2021. Accessed 3 June 2022. + + **Résumé** : Les difference majeure entre les conteneur linux et les machine virtuele + **Avis sur la ressource** : Article de journal informatique le journaliste n'est probablement pas un expert. + +* [^3]: "[Linux Containers](https://linuxcontainers.org/)". Linuxcontainers.Org, 2022. Accessed 3 June 2022. + + **Résumé** : Presente les differents technologie de conteur linux + **Avis sur la ressource** : Site des developeur des technologie LXC, LXD, LXFS, DistroBuilder. \ No newline at end of file From c6f5fd85636f072d74f8e0a12e14dd269f4f15d6 Mon Sep 17 00:00:00 2001 From: craftbrak Date: Tue, 7 Jun 2022 17:50:54 +0200 Subject: [PATCH 2/4] article terminer --- "R\303\251seaux/Linux_container.md" | 42 ++++++++++++++--------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git "a/R\303\251seaux/Linux_container.md" "b/R\303\251seaux/Linux_container.md" index 14f76d2..7461b59 100644 --- "a/R\303\251seaux/Linux_container.md" +++ "b/R\303\251seaux/Linux_container.md" @@ -6,52 +6,52 @@ parent: Réseaux # Conteneurs Linux ## Un Conteneur qu'est-ce que c'est ? [^1] -Le mot conteneur (conteneur en anglais) désigne plusieurs objets différents en informatique, dans notre cas ce dernier désigne un -environment d'exécution virtualiser. Un conteneur Linux (LXC) permet de faire tourner un programme sous linux sans devoir -tenir compte de l'environement +Le mot conteneur (container en anglais) désigne plusieurs objets différents en informatique, dans notre cas ce dernier désigne un +environnement d'exécution virtualisé. Un conteneur Linux (LXC) permet de faire tourner un programme sous Linux sans devoir +tenir compte de l'environnement -## Quelle est la difference entre un conteneur linux et une machine virtuel ? [^2] +## Quelle est la différence entre un conteneur Linux et une machine virtuel ? [^2] Lorsque l'on virtualise un environment, on crée généralement une machine virtuelle. Pour cela le système d'exploitation exécute un programme qui est chargé de virtualiser tous les composants de la machine virtuelle (VM). Ce dernier alloue des -ressources à chaque composant de la VM, Il réserve une partie des cœurs du possesseur de l'hôte, une partie de la ram, +ressources à chaque composant de la VM, Il réserve une partie des cœurs du processeur de l'hôte, une partie de la ram, du disque dur ... -La VM dé son démarrage aura accès à toutes ces ressources et elles lui seront entièrement réservée. De plus chaque VM +La VM dés son démarrage aura accès à toutes ces ressources et elles lui seront entièrement réservées. De plus chaque VM possède son systeme d'exploitation complet. -Contrairement a une machine virtuelle un conteneur Linux lui n'a pas de système d'exploitation complet. Il partage son -noyau (kernel) avec son hôte et les autres conteneurs. Cette difference majeurs permet au conteneur d'allouer et de libérer -des ressources a chaud. En effet vu qu'il n'y a qu'un seul kernel en charge des ressources ces dernières peuvent simplement -être transférée d'un conteneur a un autre comme s'il s'agissait de simple programme. +Contrairement à une machine virtuelle un conteneur Linux lui n'a pas de système d'exploitation complet. Il partage son +noyau (kernel) avec son hôte et les autres conteneurs. Cette différence majeure permet au conteneur d'allouer et de libérer +des ressources à chaud. En effet vu qu'il n'y a qu'un seul kernel en charge des ressources ces dernières peuvent simplement +être transférées d'un conteneur à un autre comme s'il s'agissait de simples programmes. -Les Conteneurs ne partagent cependant avec leur hôte que le kernel, tout le système de fichier est virtualisé, impossible pour un conteneur +Les Conteneurs ne partagent cependant avec leur hôte que le kernel, tout le système de fichiers est virtualisé, impossible pour un conteneur d'accéder au "file system" de l'hôte (Il est cependant possible de créer des volumes accessibles depuis le conteneur et l'hôte). -Contrairement à une Vm qui permet d'installer n'importe quel système d'exploitation (du moment que ce dernier est compatible +Contrairement à une VM qui permet d'installer n'importe quel système d'exploitation (du moment que ce dernier est compatible avec les composants virtuels), dans un conteneur Linux seul un système d'exploitation Linux peu être installé. -Et cela dû au partage de kernel (Linux désigne le kernel, il existe beaucoup de système d'exploitation qui l'utilise). +Cela est dû au partage de kernel (Linux désigne le kernel, il existe beaucoup de systèmes d'exploitation qui l'utilisent). ## Pourquoi utiliser un conteneur Linux ? -Grace a leur absence de noyaux dédier un conteneur linux sera beaucoup plus leger qu'une machine virtuelle. -Tout l'intérêt des conteneurs est reveler lorsque l'on désire exécuter un programme (conçu pour Linux) de manière fiable sur plusieurs +Grâce à leur absence de noyaux dédié un conteneur Linux sera beaucoup plus léger qu'une machine virtuelle. +Tout l'intérêt des conteneurs est revelé lorsque l'on désire exécuter un programme (conçu pour Linux) de manière fiable sur plusieurs machines différentes. Le conteneur agira comme une capsule enfermant toutes les configurations nécessaires au programme. -Ce dernier peut donc être exécuté sans erreurs peu importe l'environement +Ce dernier peut donc être exécuté sans erreurs peu importe l'environnement ## Les technologies de conteneurs Linux [^3] -Les conteneurs Linux utilise une api du kernel linux cette dernière utilise les cgroups et d'autre technologie de +Les conteneurs Linux utilise une API du kernel linux cette dernière utilise les "cgroups" et d'autreS technologieS de cloisonnement de "name space" pour séparer le système hôte du conteneur. -Plusieurs outils sont developer et maintenu par Canonical affin de facilité l'utilisation des conteneurs linux. +Plusieurs outils sont développés et maintenus par Canonical affin de faciliter l'utilisation des conteneurs Linux. ### LXC -LXC est une interface permettant aux utilisateurs de gere simplement de conteneurs linux (elle est toujour maintenue par +LXC est une interface permettant aux utilisateurs de gérer simplement des conteneurs Linux (elle est toujours maintenue par Canonical mais est obsolete) ### LXD -LXD est l'interface de nouvelle generation celle ci permet de gerer les conteneurs linux et les machine virtuelle de plus -elle utilise le format d'image linux. +LXD est l'interface de nouvelle génération celle-ci permet de gérer les conteneurs Linux et les machines virtuelles; de plus +elle utilise le format d'image Linux. ## Bibliographie From e20227fe290a185f5cf00804877c1bb6221ff62a Mon Sep 17 00:00:00 2001 From: craftbrak Date: Fri, 5 Aug 2022 14:36:56 +0200 Subject: [PATCH 3/4] article terminer --- "R\303\251seaux/Linux_container.md" | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git "a/R\303\251seaux/Linux_container.md" "b/R\303\251seaux/Linux_container.md" index 7461b59..32cb530 100644 --- "a/R\303\251seaux/Linux_container.md" +++ "b/R\303\251seaux/Linux_container.md" @@ -1,6 +1,6 @@ --- layout: default -title:Conteneurs Linux +title: Conteneurs Linux parent: Réseaux --- # Conteneurs Linux @@ -40,7 +40,7 @@ Ce dernier peut donc être exécuté sans erreurs peu importe l'environnement ## Les technologies de conteneurs Linux [^3] -Les conteneurs Linux utilise une API du kernel linux cette dernière utilise les "cgroups" et d'autreS technologieS de +Les conteneurs Linux utilise une API du kernel linux cette dernière utilise les "cgroups" et d'autres technologies de cloisonnement de "name space" pour séparer le système hôte du conteneur. Plusieurs outils sont développés et maintenus par Canonical affin de faciliter l'utilisation des conteneurs Linux. @@ -53,6 +53,21 @@ Canonical mais est obsolete) LXD est l'interface de nouvelle génération celle-ci permet de gérer les conteneurs Linux et les machines virtuelles; de plus elle utilise le format d'image Linux. +## Cgroups +cgroups ou control-groups est une fonctionalité du kernel de Linux permetant d'isoler les prossesus l'un de l'autre. +Les cgroups permetent de controler l'acces a la RAM, les prossesseurs, le Disque et les O/I pour chaque prossecus. +Il permetent aussi de prioriser un prosses par rapport à un autre, de monitorer l'utilisation de ressources des prossessus et +peuvent aussi limiter l'acces à certaines ressources comme la memoire ou le disque. + + +## Docker: +Docker est l'outil responsable de la popularisation des conteneurs, avant Docker seuls les informaticiens très experimentés +utilisaient les conteneurs Linux, la complexité de configaration les rendait en effet inaccessibles à la majorité. +Docker a revolutionner le monde de la virtualisation en apportant des outils permetant de créer et gérer facilement des conteurs Linux. +Pour cela Docker étend les conteneurs linux en leurs ajoutant une API de haut niveau. Cette API utilise les cgroups et le noyaux Linux. + + + ## Bibliographie * [^1]: "[LXC — Wikipédia](https://fr.wikipedia.org/w/index.php?title=LXC&oldid=184410394)". Fr.Wikipedia.Org, 2008, Accessed 3 June 2022. @@ -68,4 +83,8 @@ elle utilise le format d'image Linux. * [^3]: "[Linux Containers](https://linuxcontainers.org/)". Linuxcontainers.Org, 2022. Accessed 3 June 2022. **Résumé** : Presente les differents technologie de conteur linux - **Avis sur la ressource** : Site des developeur des technologie LXC, LXD, LXFS, DistroBuilder. \ No newline at end of file + **Avis sur la ressource** : Site des developeur des technologie LXC, LXD, LXFS, DistroBuilder donc probalement fiable au vu de la nature open source de ces projet. +* [^4]: "[Cgroups — Wikipédia](https://fr.wikipedia.org/w/index.php?title=Cgroups&oldid=189395385)". Retrieved 4 August 2022. + + **Résumé** : Explique le fonctionement des CGroups + **Avis sur la ressource** : Page Wikipedia tres complete. \ No newline at end of file From 7d4ee6a4d51c4778ba704b24f3a808843b90ca7e Mon Sep 17 00:00:00 2001 From: craftbrak Date: Sun, 14 Aug 2022 13:56:41 +0200 Subject: [PATCH 4/4] ajoute de docker, cgroup , kubernetees ,swarm et compose --- "R\303\251seaux/Linux_container.md" | 50 +++++++++++++++++------------ 1 file changed, 30 insertions(+), 20 deletions(-) diff --git "a/R\303\251seaux/Linux_container.md" "b/R\303\251seaux/Linux_container.md" index 32cb530..881ce85 100644 --- "a/R\303\251seaux/Linux_container.md" +++ "b/R\303\251seaux/Linux_container.md" @@ -1,23 +1,23 @@ --- -layout: default -title: Conteneurs Linux -parent: Réseaux +layout : default +title : Conteneurs Linux +parent : Réseaux --- # Conteneurs Linux ## Un Conteneur qu'est-ce que c'est ? [^1] Le mot conteneur (container en anglais) désigne plusieurs objets différents en informatique, dans notre cas ce dernier désigne un environnement d'exécution virtualisé. Un conteneur Linux (LXC) permet de faire tourner un programme sous Linux sans devoir -tenir compte de l'environnement +tenir compte de l'environnement. ## Quelle est la différence entre un conteneur Linux et une machine virtuel ? [^2] Lorsque l'on virtualise un environment, on crée généralement une machine virtuelle. Pour cela le système d'exploitation exécute un programme qui est chargé de virtualiser tous les composants de la machine virtuelle (VM). Ce dernier alloue des ressources à chaque composant de la VM, Il réserve une partie des cœurs du processeur de l'hôte, une partie de la ram, -du disque dur ... +du disque dur, ect ... -La VM dés son démarrage aura accès à toutes ces ressources et elles lui seront entièrement réservées. De plus chaque VM -possède son systeme d'exploitation complet. +La VM dès son démarrage aura accès à toutes ces ressources et elles lui seront entièrement réservées. De plus chaque VM +possède son système d'exploitation complet. Contrairement à une machine virtuelle un conteneur Linux lui n'a pas de système d'exploitation complet. Il partage son noyau (kernel) avec son hôte et les autres conteneurs. Cette différence majeure permet au conteneur d'allouer et de libérer des ressources à chaud. En effet vu qu'il n'y a qu'un seul kernel en charge des ressources ces dernières peuvent simplement @@ -30,13 +30,15 @@ d'accéder au "file system" de l'hôte (Il est cependant possible de créer des Contrairement à une VM qui permet d'installer n'importe quel système d'exploitation (du moment que ce dernier est compatible avec les composants virtuels), dans un conteneur Linux seul un système d'exploitation Linux peu être installé. Cela est dû au partage de kernel (Linux désigne le kernel, il existe beaucoup de systèmes d'exploitation qui l'utilisent). +Cependant, un conteneur peu utiliser une distribution Linux different de l'hôte les packages étant. ## Pourquoi utiliser un conteneur Linux ? -Grâce à leur absence de noyaux dédié un conteneur Linux sera beaucoup plus léger qu'une machine virtuelle. -Tout l'intérêt des conteneurs est revelé lorsque l'on désire exécuter un programme (conçu pour Linux) de manière fiable sur plusieurs +Grâce à leur absence de noyaux dédiée un conteneur Linux sera beaucoup plus léger qu'une machine virtuelle. +Tout l'intérêt des conteneurs est révélé lorsque l'on désire exécuter un programme (conçu pour Linux) de manière fiable sur plusieurs machines différentes. Le conteneur agira comme une capsule enfermant toutes les configurations nécessaires au programme. -Ce dernier peut donc être exécuté sans erreurs peu importe l'environnement +Ce dernier peut donc être exécuté sans erreurs peu importe l'environnement. +Un autre avantage est de permettre l'exécution en parallel de plusieurs instances d'un meme programme avec une même configuration. ## Les technologies de conteneurs Linux [^3] @@ -50,24 +52,32 @@ LXC est une interface permettant aux utilisateurs de gérer simplement des conte Canonical mais est obsolete) ### LXD -LXD est l'interface de nouvelle génération celle-ci permet de gérer les conteneurs Linux et les machines virtuelles; de plus +LXD est l'interface de nouvelle génération celle-ci permet de gérer les conteneurs Linux et les machines virtuelles ; de plus elle utilise le format d'image Linux. ## Cgroups -cgroups ou control-groups est une fonctionalité du kernel de Linux permetant d'isoler les prossesus l'un de l'autre. -Les cgroups permetent de controler l'acces a la RAM, les prossesseurs, le Disque et les O/I pour chaque prossecus. -Il permetent aussi de prioriser un prosses par rapport à un autre, de monitorer l'utilisation de ressources des prossessus et -peuvent aussi limiter l'acces à certaines ressources comme la memoire ou le disque. +Cgroups ou control-groups est une fonctionnalité du kernel de Linux permettant d'isoler les processus l'un de l'autre. +Les cgroups permettent de controler l'accès à la RAM, les processeurs, le Disque et les O/I pour chaque processus. +Ils permettent aussi de prioriser un processus par rapport à un autre, de monitorer l'utilisation de ressources des processus et +peuvent aussi limiter l'accès à certaines ressources comme la memoire ou le disque. ## Docker: -Docker est l'outil responsable de la popularisation des conteneurs, avant Docker seuls les informaticiens très experimentés -utilisaient les conteneurs Linux, la complexité de configaration les rendait en effet inaccessibles à la majorité. -Docker a revolutionner le monde de la virtualisation en apportant des outils permetant de créer et gérer facilement des conteurs Linux. -Pour cela Docker étend les conteneurs linux en leurs ajoutant une API de haut niveau. Cette API utilise les cgroups et le noyaux Linux. +Docker est l'outil responsable de la popularisation des conteneurs, avant Docker seuls les informaticiens très expérimentés +utilisaient les conteneurs Linux, la complexité de configuration les rendait en effet inaccessibles à la majorité. +Docker à révolutionner le monde de la virtualisation en apportant des outils permettant de créer et gérer facilement des conteurs Linux. +Pour cela Docker étend les conteneurs linux en leurs ajoutant une API de haut niveau. Cette API utilise les Cgroups et les noyaux Linux. +## Kubernetes, Docker Compose, Swarm. +Une fois les LXC démocratisée grâce à docker des outils ont été créés afin de permettre la gestion automatique d'ensemble +de conteneurs. Les plus connus étant Kubernetes, Swarm et Docker compose. - +Swarm et Kubernetes sont tres similaire, ils permettent de gere automatiquement le deployment et l'arrêt de conteneur sur +plusieurs hôtes et de repartir la charge entre plusieurs conteneurs d'un meme service. +Swarm faisant partie du docker engine et est donc plus intégré que kubernetes. + +Docker Compose quant à lui est un outil permettant de gere un groupe de conteneur sur un meme hôte. +Docker compose fait aussi partie du docker engine. ## Bibliographie * [^1]: "[LXC — Wikipédia](https://fr.wikipedia.org/w/index.php?title=LXC&oldid=184410394)". Fr.Wikipedia.Org, 2008, Accessed 3 June 2022.