Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:docker1:dfr00 [2020/08/10 14:09] – admin | elearning:workbooks:docker1:dfr00 [2021/12/29 10:32] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
- | Version : **2020.01** | + | Version : **2022.01** |
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
Ligne 10: | Ligne 10: | ||
* **DOF101 - La Virtualisation par Isolation** | * **DOF101 - La Virtualisation par Isolation** | ||
- | * LAB #1 - Utilisation de l' | + | * Contenu |
- | * 1.1 - Formations en Face-à-Face Pédagogique (FFP) | + | |
- | * 1.2 - Formations à Distance (FAD) | + | |
- | * Linux, MacOS et Windows 10 muni du client ssh | + | |
- | * Windows 7 et Windows 10 sans client ssh | + | |
- | * Lancement de la Machine Virtuelle Debian_9 | + | |
- | * 1.3 - Connexion à la Machine Virtuelle | + | |
- | * Linux, MacOS, Windows 10 muni du client ssh et FAD | + | |
- | * Windows 7 et Windows 10 sans client ssh en FFP | + | |
* Présentation de la Virtualisation par Isolation | * Présentation de la Virtualisation par Isolation | ||
* Historique | * Historique | ||
* Présentation des Namespaces | * Présentation des Namespaces | ||
* Présentation des CGroups | * Présentation des CGroups | ||
- | * LAB #2 - Travailler avec les CGroups | + | * LAB #1 - Travailler avec les CGroups |
- | * 2.1 - Limitation de la Mémoire | + | * 1.1 - Limitation de la Mémoire |
- | * 2.2 - Le Paquet cgroup-tools | + | * 1.2 - Le Paquet cgroup-tools |
* La commande cgcreate | * La commande cgcreate | ||
* La Commande cgexec | * La Commande cgexec | ||
* La Commande cgdelete | * La Commande cgdelete | ||
- | * La Commande cgexec | + | * Le Fichier / |
* Présentation de Linux Containers | * Présentation de Linux Containers | ||
- | * LAB #3 - Travailler avec LXC | + | * LAB #2 - Travailler avec LXC |
- | * 3.1 - Installation | + | * 2.1 - Installation |
- | * 3.2 - Création d'un Conteneur Simple | + | * 2.2 - Création d'un Conteneur Simple |
- | * 3.3 - Démarrage d'un Conteneur Simple | + | * 2.3 - Démarrage d'un Conteneur Simple |
- | * 3.4 - S' | + | * 2.4 - S' |
- | * 3.5 - Commandes LXC de Base | + | * 2.5 - Commandes LXC de Base |
* La Commande lxc-console | * La Commande lxc-console | ||
* La Commande lxc-stop | * La Commande lxc-stop | ||
Ligne 44: | Ligne 36: | ||
* La Commande lxc-unfreeze | * La Commande lxc-unfreeze | ||
* Autres commandes | * Autres commandes | ||
- | * 3.6 - Création d'un Conteneur Non-Priviligié | + | * 2.6 - Création d'un Conteneur Non-Privilégié |
* User Namespaces | * User Namespaces | ||
- | * Création d' | + | * Création d' |
* Création du Mappage | * Création du Mappage | ||
* Création du Conteneur | * Création du Conteneur | ||
* Contrôle du Mappage | * Contrôle du Mappage | ||
- | * 3.7 - Création d'un Conteneur | + | * 2.7 - Création d'un Conteneur |
* La Commande lxc-copy | * La Commande lxc-copy | ||
- | * 3.8 - Sauvegarde des Conteneurs | + | * 2.8 - Sauvegarde des Conteneurs |
* La Commande lxc-snapshot | * La Commande lxc-snapshot | ||
- | =====LAB #1 - Utilisation | + | =====Présentation |
- | + | ||
- | ====1.1 - Formations en Face-à-Face Pédagogique (FFP) ==== | + | |
- | + | ||
- | Si vous suivez cette formation en Centre de Formation, vous avez besoin d' | + | |
- | + | ||
- | Ouvrez VirtualBox et importez la machine virtuelle **Debian_9** : | + | |
- | + | ||
- | Fichier > Importer un appareil virtuel ... | + | |
- | + | ||
- | La machine virtuelle a été configurée ainsi : | + | |
- | + | ||
- | ^ Machine ^ Nom d' | + | |
- | | Debian_9 | debian9 | 10.0.2.15 | 2022 | | + | |
- | + | ||
- | Démarrez ensuite la machine virtuelle **Debian_9**. | + | |
- | + | ||
- | ====1.2 - Formations à Distance (FAD) ==== | + | |
- | + | ||
- | Vous disposez d'un serveur dédié, pré-installé, | + | |
- | + | ||
- | Connectez-vous en ssh à votre serveur dédié : | + | |
- | + | ||
- | ===Linux, MacOS et Windows 10 muni du client ssh=== | + | |
- | + | ||
- | Ouvrez un terminal ou CMD et tapez la commande suivante : | + | |
- | + | ||
- | < | + | |
- | $ ssh -l desktop serverXX.ittraining.network | + | |
- | </ | + | |
- | + | ||
- | où **XX** représente le numéro de votre serveur dédié. Entrez ensuite le mot de passe qui vous a été fourni. | + | |
- | + | ||
- | ===Windows 7 et Windows 10 sans client ssh=== | + | |
- | + | ||
- | Ouvrez **putty** et utilisez les informations suivantes pour vous connecter à votre serveur dédié : | + | |
- | + | ||
- | * Host Name --> serverXX.ittraining.network | + | |
- | * Port --> 22 | + | |
- | + | ||
- | Au prompt, connectez-vous en tant que **desktop** avec le mot de passe qui vous a été fourni. | + | |
- | + | ||
- | ===Lancement de la Machine Virtuelle Debian_9=== | + | |
- | + | ||
- | La machine virtuelle a été configurée ainsi : | + | |
- | + | ||
- | ^ Machine ^ Nom d' | + | |
- | | Debian_9 | debian9 | 10.0.2.15 | 2022 | | + | |
- | + | ||
- | Pour lancer la machine **Debian_9**, | + | |
- | + | ||
- | < | + | |
- | desktop@serverXX: | + | |
- | Waiting for VM " | + | |
- | VM " | + | |
- | </ | + | |
- | + | ||
- | ====1.3 - Connexion à la Machine Virtuelle==== | + | |
- | + | ||
- | Les noms d' | + | |
- | + | ||
- | ^ Utilisateur ^ Mot de Passe ^ | + | |
- | | trainee | trainee | | + | |
- | | root | fenestros | | + | |
- | + | ||
- | Vous devez vous connecter à la machine virtuelle **Debian_9** d'une des deux façons suivantes : | + | |
- | + | ||
- | ===Linux, MacOS, Windows 10 muni du client ssh et FAD=== | + | |
- | + | ||
- | Ouvrez un terminal et tapez la commande suivante pour vous connecter à la machine **Debian_9** : | + | |
- | + | ||
- | < | + | |
- | $ ssh -l trainee localhost -p 2022 | + | |
- | </ | + | |
- | + | ||
- | ===Windows 7 et Windows 10 sans client ssh en FFP=== | + | |
- | + | ||
- | Ouvrez **putty** et utilisez les informations suivantes pour vous connecter à **Debian_9** : | + | |
- | + | ||
- | * Host Name --> localhost | + | |
- | * Port --> 2022 | + | |
- | + | ||
- | =====La | + | |
Un isolateur est un logiciel qui permet d' | Un isolateur est un logiciel qui permet d' | ||
Ligne 159: | Ligne 69: | ||
Les Groupes de Contrôles (Control Groups) aussi appelés **CGroups**, | Les Groupes de Contrôles (Control Groups) aussi appelés **CGroups**, | ||
- | Les CGroups sont organisés de manière hiérarchique, | + | Les CGroups sont organisés de manière hiérarchique, |
Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs sous-système(s) aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sont : | Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs sous-système(s) aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sont : | ||
Ligne 166: | Ligne 76: | ||
* **cpu** - utilisé pour fournir aux tâches des groupes de contrôle accès au CPU grâce au planificateur, | * **cpu** - utilisé pour fournir aux tâches des groupes de contrôle accès au CPU grâce au planificateur, | ||
* **cpuacct** - utilisé pour produire des rapports automatiques sur les ressources CPU utilisées par les tâches dans un groupe de contrôle, | * **cpuacct** - utilisé pour produire des rapports automatiques sur les ressources CPU utilisées par les tâches dans un groupe de contrôle, | ||
- | * **cpuset** - utilisé pour assigner des CPU individuels sur un système | + | * **cpuset** - utilisé pour assigner des CPU individuels sur un système |
* **devices** - utilisé pour autoriser ou pour refuser l' | * **devices** - utilisé pour autoriser ou pour refuser l' | ||
* **freezer** - utilisé pour suspendre ou pour réactiver les tâches dans un groupe de contrôle, | * **freezer** - utilisé pour suspendre ou pour réactiver les tâches dans un groupe de contrôle, | ||
Ligne 278: | Ligne 188: | ||
En utilisant Systemd, plusieurs ressources peuvent être limitées : | En utilisant Systemd, plusieurs ressources peuvent être limitées : | ||
- | * **CPUShares** - par défault | + | * **CPUShares** - par défaut |
* **MemoryLimit** - limite exprimée en Mo ou en Go. Pas de valeur par défaut, | * **MemoryLimit** - limite exprimée en Mo ou en Go. Pas de valeur par défaut, | ||
* **BlockIOWeight** - valeur entre 10 et 1000. Pas de valeur par défaut, | * **BlockIOWeight** - valeur entre 10 et 1000. Pas de valeur par défaut, | ||
Ligne 289: | Ligne 199: | ||
</ | </ | ||
- | ====LAB #2 - Travailler avec les CGroups==== | + | ====LAB #1 - Travailler avec les CGroups==== |
- | ===2.1 - Limitation de la Mémoire=== | + | ===1.1 - Limitation de la Mémoire=== |
Pour travailler avec les CGroups dans Debian 9, il convient d' | Pour travailler avec les CGroups dans Debian 9, il convient d' | ||
Ligne 436: | Ligne 346: | ||
</ | </ | ||
- | ===2.2 - Le Paquet cgroup-tools=== | + | ===1.2 - Le Paquet cgroup-tools=== |
Le paquet **cgroup-tools** installe des commandes dites //de facilité// dont : | Le paquet **cgroup-tools** installe des commandes dites //de facilité// dont : | ||
Ligne 512: | Ligne 422: | ||
</ | </ | ||
- | ==La Commande cgexec== | + | ==Le Fichier / |
- | Afin de les rendre | + | Afin de les rendre |
< | < | ||
Ligne 602: | Ligne 512: | ||
=====Présentation de Linux Containers===== | =====Présentation de Linux Containers===== | ||
- | ====LAB #3 - Travailler avec LXC==== | + | ====LAB #2 - Travailler avec LXC==== |
- | ===3.1 - Installation=== | + | ===2.1 - Installation=== |
Les outils indispensables à l' | Les outils indispensables à l' | ||
Ligne 629: | Ligne 539: | ||
</ | </ | ||
- | ===3.2 - Création d'un Conteneur Simple=== | + | ===2.2 - Création d'un Conteneur Simple=== |
- | Créez un conteneur simple en utilsant | + | Créez un conteneur simple en utilisant |
< | < | ||
Ligne 644: | Ligne 554: | ||
</ | </ | ||
- | Le **backingstore** (// méthode de stockage//) utilisé par défaut est **dir** ce qui implqiue | + | Le **backingstore** (// méthode de stockage//) utilisé par défaut est **dir** ce qui implique |
< | < | ||
Ligne 665: | Ligne 575: | ||
* rbd (CephFS) | * rbd (CephFS) | ||
- | ===3.3 - Démarrage d'un Conteneur Simple=== | + | ===2.3 - Démarrage d'un Conteneur Simple=== |
Pour démarrer le conteneur, il convient d' | Pour démarrer le conteneur, il convient d' | ||
Ligne 673: | Ligne 583: | ||
</ | </ | ||
- | ===3.4 - S' | + | ===2.4 - S' |
Pour s' | Pour s' | ||
Ligne 712: | Ligne 622: | ||
</ | </ | ||
- | ===3.5 - Commandes LXC de Base=== | + | ===2.5 - Commandes LXC de Base=== |
==La Commande lxc-console== | ==La Commande lxc-console== | ||
Ligne 834: | Ligne 744: | ||
| lxc-cgroup | Permet de manipuler à chaud les CGroups pour un conteneur donné | | | lxc-cgroup | Permet de manipuler à chaud les CGroups pour un conteneur donné | | ||
| lxc-device | Permet de rajouter à chaud les devices à un conteneur | | | lxc-device | Permet de rajouter à chaud les devices à un conteneur | | ||
- | | lxc-usernsexec | Permet d' | + | | lxc-usernsexec | Permet d' |
- | | lxc-wait | Permet d' | + | | lxc-wait | Permet d' |
- | ===3.6 - Création d'un Conteneur Non-Priviligié=== | + | ===2.6 - Création d'un Conteneur Non-Privilégié=== |
==User Namespaces== | ==User Namespaces== | ||
- | Un conteneur | + | Un conteneur |
- | Le mappage d'UID est une fonctionalité | + | Le mappage d'UID est une fonctionnalité |
- | ==Création d' | + | ==Création d' |
- | Commencez par créer l' | + | Commencez par créer l’utilisateur |
< | < | ||
Ligne 930: | Ligne 840: | ||
==Création du Conteneur== | ==Création du Conteneur== | ||
- | Créez maintenant un conteneur non-priviligié | + | Créez maintenant un conteneur non-privilégié |
< | < | ||
Ligne 1023: | Ligne 933: | ||
</ | </ | ||
- | ===3.7 - Création d'un Conteneur | + | ===2.7 - Création d'un Conteneur |
- | Par défaut les conteneurs LXC sont permenants. Il est possible de créer un conteneur éphémère, | + | Par défaut les conteneurs LXC sont permanents. Il est possible de créer un conteneur éphémère, |
==La Commande lxc-copy== | ==La Commande lxc-copy== | ||
- | Notez que le containeur | + | Notez que le conteneur |
< | < | ||
Ligne 1120: | Ligne 1030: | ||
</ | </ | ||
- | ===3.8 - Sauvegarde des Conteneurs=== | + | ===2.8 - Sauvegarde des Conteneurs=== |
Un conteneur LXC peut être sauvegardé de trois façons différentes : | Un conteneur LXC peut être sauvegardé de trois façons différentes : | ||
Ligne 1202: | Ligne 1112: | ||
----- | ----- | ||
- | < | + | |
- | <div align=" | + | Copyright © 2022 Hugh Norris. |
- | Copyright © 2020 Hugh Norris | + | |
- | </ | + | |
- | </ | + |