Ceci est une ancienne révision du document !


Version : 2021.01

Dernière mise-à-jour : 2021/04/05 12:40

DOF205 - Validation de la Formation

Contenu du Module

  • DOF205 - Validation de la Formation
    • Contenu du Module
    • Pour Aller Plus Loin
      • Support de Cours
      • L'Infrastructure Hors Formation
        • Matériel
        • Logiciels
        • Machine Virtuelle
    • Rappel du Programme de la Formation
      • Jour #1
      • Jour #2
    • Évaluation de la Formation
    • Remerciements

Pour Aller Plus Loin

Support de Cours

L'accès au supports de cours ainsi que les LABS et les validations des acquis se fait grâce à un abonnement annuel par stagiaire à une plateforme de cours sur Internet.

L'utilisation de cette plateforme permet :

  • de mesurer le niveau du stagiaire avant la formation et celui atteint en fin de formation grâce aux tests de validations des acquis,
  • de suivre du travail de chaque participant en termes de temps passé dans chaque module grâce à un reporting détaillé.

L'abonnement permet aux stagiaires :

  • de télécharger des supports de cours et des LABS au format PDF le dernier jour de la formation,
  • de refaire les LABS en mode autonome en cas de missions décalées en relation avec le contenu de la formation initiale,
  • de rester en contact avec le formateur en cas de problèmes en production liés au contenu du cours,
  • de consulter les mises à jour du contenu des supports de cours pendant la période de l'abonnement,
  • d'échanger avec les autres participants de la session ainsi qu'avec les anciens stagiaires.

L'Infrastructure Hors Formation

Matériel

  • Un poste 64 bits (MacOS, Linux, Windows™ ou Solaris™),
  • Dans le cas de Windows™, seulement la version 7 ou 10 avec Hyper-V désinstallé,
  • Le mot de passe du compte administrateur du système,
  • Clavier AZERTY FR ou QWERTY US,
  • 16 Go de RAM minimum,
  • Processeur 4 cœurs minimum,
  • 16 Go d'espace disque disponible.

Logiciels

  • Oracle VirtualBox v 6.0 ou plus (MacOS, Linux, Windows™ ou Solaris™),
  • Si Windows™ - Putty et WinSCP,
  • Navigateur Web Chrome ou Firefox.

Machines Virtuelles

A télécharger :

Ces machines virtuelles sont au format.ova qui peuvent être importée directement dans VirtualBox d'Oracle. La machine virtuelle Debian_9 a été configurée selon le tableau ci-dessous :

Machine Nom d'hôte Adresse IP Redirection de Port
Debian_9 debian9 10.0.2.15 2022

Les noms d'utilisateurs et les mots de passe sont :

Utilisateur Mot de Passe
trainee trainee
root fenestros

Démarrer la Machine Virtuelle

Pour lancer la machine Debian_9, utilisez la commande suivante à partir de votre ordinateur :

vous@votrepc:~$ VBoxManage startvm Debian_9 --type headless
Waiting for VM "Debian_9" to power on...
VM "Debian_9" has been successfully started.
Connexion à la Machine Virtuelle

Vous devez vous connecter à la machine virtuelle Debian_9 à partir d'un terminal de votre ordinateur :

vous@votrepc:~$ ssh -l trainee localhost -p 2022

Dans le module DOF201 - Stocker les Images Docker

A la section 1.4, importez la machine virtuelle Registry.

Créez ensuite le réseau Nat NatNetwork dans VirtualBox:

vous@votrepc:~$ VBoxManage natnetwork add --netname NatNetwork --network "10.0.2.0/24" --enable
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --dhcp on
vous@votrepc:~$ VBoxManage natnetwork start --netname NatNetwork

Vérifiez que votre machine virtuelle Debian_9 est allumée :

vous@votrepc:~$ VBoxManage list runningvms
"Debian_9" {0ab64831-56fb-4f1b-95cc-d6e107451742}

Placez Debian_9 dans le réseau NAT NatNetwork :

vous@votrepc:~$ VBoxManage controlvm Debian_9 nic1 natnetwork NatNetwork

Démarrez la machine virtuelle Registry :

vous@votrepc:~$ VBoxManage startvm Registry --type headless

Mettez la VM Registry dans le réseau NAT NatNetwork :

vous@votrepc:~$ VBoxManage controlvm Registry nic1 natnetwork NatNetwork

Configurez la redirection des ports dans le réseau NAT NatNetwork :

vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "Docker_Debian_9:tcp:[]:2022:[10.0.2.15]:22"
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "Docker_Registry:tcp:[]:4022:[10.0.2.4]:22"

Connectez-vous à la VM Registry :

vous@votrepc:~$ ssh -l trainee localhost -p 4022
trainee@localhost's password: trainee
Linux registry 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Apr 17 15:36:25 2020 from 10.0.2.2
trainee@registry:~$ su -
Mot de passe : fenestros
root@registry:~#

Editez le fichier /etc/hosts :

root@registry:~# vi /etc/hosts
root@registry:~# cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	debian9.i2tch.loc   	debian9
10.0.2.4	myregistry.i2tch.loc    myregistry
10.0.2.15   debian9.i2tch.loc       debian9

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Créez ensuite le certificat auto-signé avec openssl.

Dans le module DOF202 - Docker Compose, Docker Machine et Docker Swarm

Installer Docker-CE sur votre poste :

Mac
Linux
Windows 7, 8
  • Téléchargez Docker Toolbox à partir de cette page https://docs.docker.com/toolbox/toolbox_install_windows/
  • Fermez toutes les machines virtuelles ainsi que VirtualBox,
  • Installez DockerToolBox.exe (décochez VirtualBox dans la liste de produits à installer),
  • Exécutez Docker Toolbox et laissez l'application créer une machine virtuelle,
  • Ouvrez VirtualBox. Vous verrez une machine virtuelle Default,
  • Ouvrez cmd.
Windows 10

Pour installer docker-machine sur votre poste, utilisez une des commandes suivantes :

Mac
curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine
Linux et FAD
curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && chmod +x /tmp/docker-machine && cp /tmp/docker-machine /usr/local/bin/docker-machine
Windows

Si vous utilisez Git BASH :

if [[ ! -d "$HOME/bin" ]]; then mkdir -p "$HOME/bin"; fi && curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && chmod +x "$HOME/bin/docker-machine.exe"

Si vous n'utilisez PAS Git BASH :

Téléchargez la version adéquate pour l'architecture de votre machine à partir de l'adresse https://github.com/docker/machine/releases/.

Créez ensuite les machines virtuelles Manager1 et Worker1 à Worker5 sur votre poste puis poursuivez avec la création du Swarm.

Dans le Module DOF203 - Gestion du Réseau avec Swarm

Importez les quatre machines virtuelles Manager, Worker1, Worker2 et Debian_9_1.

Créez ensuite les redirections de port dans le réseau NatNetwork :

vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "Docker_Manager:tcp:[]:2222:[10.0.2.15]:22"
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "Docker_Worker1:tcp:[]:2322:[10.0.2.4]:22"
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "Docker_Worker2:tcp:[]:2422:[10.0.2.5]:22"
vous@votrepc:~$ VBoxManage natnetwork modify --netname NatNetwork --port-forward-4 "Docker_Debian_9_1:tcp:[]:2522:[10.0.2.9]:22"

Démarrez ensuite les quatre machines virtuelles :

vous@votrepc:~$ VBoxManage startvm Manager --type headless
Waiting for VM "Manager" to power on...
VM "Manager" has been successfully started.
vous@votrepc:~$ VBoxManage startvm Worker1 --type headless
Waiting for VM "Worker1" to power on...
VM "Worker1" has been successfully started.
vous@votrepc:~$ VBoxManage startvm Worker2 --type headless
Waiting for VM "Worker2" to power on...
VM "Worker2" has been successfully started.
vous@votrepc:~$ VBoxManage startvm Debian_9_1 --type headless
Waiting for VM "Debian_9_1" to power on...
VM "Debian_9_1" has been successfully started.

Les noms d'utilisateurs et les mots de passe sont identiques pour chaque machine :

Utilisateur Mot de Passe
trainee trainee
root fenestros

Ouvrez un terminal et tapez la commande suivante pour la machine Manager :

vous@votrepc:~$ ssh -l trainee localhost -p 2222

Ouvrez un autre terminal et tapez la commande suivante pour la machine Worker1 :

vous@votrepc:~$ ssh -l trainee localhost -p 2322

Ouvrez un autre terminal et tapez la commande suivante pour la machine Worker2 :

vous@votrepc:~$ ssh -l trainee localhost -p 2422

Ouvrez un autre terminal et tapez la commande suivante pour la machine Debian_9 :

vous@votrepc:~$ ssh -l trainee localhost -p 2522

Commencez par re-créer un swarm :

root@manager:~# docker swarm leave
Node left the swarm.

root@worker1:~# docker swarm leave
Node left the swarm.

root@worker2:~# docker swarm leave
Node left the swarm.

root@manager:~# docker swarm init --advertise-addr 10.0.2.15
Swarm initialized: current node (tpn1zsk20sfsfafmk2cvefqjc) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-23d7n1fkkk9rvlhty106q9390bfpf9daljjguq3s807le6c5qs-e0s1yqsajvmi7s8t9l9mw48ao 10.0.2.15:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

root@worker1:~# docker swarm join --token SWMTKN-1-23d7n1fkkk9rvlhty106q9390bfpf9daljjguq3s807le6c5qs-e0s1yqsajvmi7s8t9l9mw48ao 10.0.2.15:2377
This node joined a swarm as a worker.

root@worker2:~# docker swarm join --token SWMTKN-1-23d7n1fkkk9rvlhty106q9390bfpf9daljjguq3s807le6c5qs-e0s1yqsajvmi7s8t9l9mw48ao 10.0.2.15:2377
This node joined a swarm as a worker.

Vérifiez l'état du swarm :

root@manager:~# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
b85hxlixbr1mh1txd1hrfe4us *   manager.i2tch.loc   Ready               Active              Leader              19.03.4
4sui75vvdhmet4qvt0zbvzlzl     worker1.i2tch.loc   Ready               Active                                  19.03.4
lbjtg5o9kw3x6xg7frm07jfuw     worker2.i2tch.loc   Ready               Active                                  19.03.4
root@manager:~# docker node ls --filter role=manager
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
b85hxlixbr1mh1txd1hrfe4us *   manager.i2tch.loc   Ready               Active              Leader              19.03.4
root@manager:~# docker node ls --filter role=worker
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
4sui75vvdhmet4qvt0zbvzlzl     worker1.i2tch.loc   Ready               Active                                  19.03.4
lbjtg5o9kw3x6xg7frm07jfuw     worker2.i2tch.loc   Ready               Active                                  19.03.4

Vérifiez la présence du réseau overlay ingress ainsi que le réseau ponté docker_gwbridge :

root@manager:~# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
4edb7186dcc9        bridge              bridge              local
d4c9b0c9437a        docker_gwbridge     bridge              local
f3cb3bc3c581        host                host                local
r8htcvc8oxmz        ingress             overlay             swarm
de563e30d473        none                null                local

Poursuivez avec ls Création d'un Réseau overlay

Rappel du Programme de la Formation

Jour #1

  • DOF200 - Docker : Administration - 1 heure..
    • Contenu du Module
    • Prérequis
      • Matériel
      • Logiciels
      • Internet
    • Utilisation de l'Infrastructure
      • Connexion au Notre Cloud Privé
        • Connexion en SSH via un Terminal
        • Connexion en SSH via un Client SSH tel Putty
        • Connexion en SSH via un Navigateur Web Firefox ou Chrome
      • Connexion à la Machine Virtuelle
    • Programme de la Formation
    • Évaluation des Compétences
  • DOF201 - Stocker les Images Docker - 3 heures.
    • LAB #1 - Installer un Registre Privé
      • 1.1 - Installer docker
      • 1.2 - Préparation
      • 1.3 - Créer un Registre local,
      • 1.4 - Créer un Serveur de Registre Dédié
        • Configurer le Registre Dédié
        • Configurer le Client
  • DOF202 - Docker Compose, Docker Machine et Docker Swarm - 4 heures.
    • LAB #1 - Docker Compose
      • 1.1 - Installation
      • 1.2 - Utiliser docker-compose
    • LAB #2 - Docker Machine
      • 2.1 - Présentation
      • 2.2 - Création de Machines Virtuelles Docker
      • 2.3 - Lister les VM Docker
      • 2.4 - Obtenir l'adresse IP des VM
      • 2.5 - Se connecter à une VM Docker
    • LAB #3 - Docker Swarm
      • 3.1 - Présentation
      • 3.2 - Initialiser Docker Swarm
      • 3.3 - Le Statut Leader
      • 3.4 - Rejoindre le Swarm
      • 3.5 - Consulter les Informations de Swarm
      • 3.6 - Démarrer un Service
      • 3.7 - Augmentation et Réduction du Service
      • 3.8 - Consulter le Statut d'un Nœud
      • 3.9 - Haute Disponibilité
      • 3.10 - Supprimer un Service

Jour #2

  • DOF203 - Gestion du Réseau avec Swarm - 3 heures.
    • L'Approche Réseau Docker
    • LAB #1 - Gestion du Réseau overlay
      • 1.1 - Création d'un Réseau overlay
      • 1.2 - Création d'un Service
      • 1.3 - Déplacer le Service vers un autre Réseau overlay
      • 1.4 - DNS container discovery
      • 1.5 - Création d'un Réseau overlay Personnalisé
    • LAB #2 - Gestion de l'Architecture des Microservices
      • 2.1 - Rappel - Mise en Place avec Docker avec un réseau Bridge et des liens
      • 2.2 - Mise en Place avec Docker Swarm avec des réseaux Overlay
  • DOF204 - Gestion de la Sécurité de Docker - 3 heures.
    • LAB #1 - Création d'un Utilisateur de Confiance pour Contrôler le Daemon Docker
    • LAB #2 - Le Script docker-bench-security.sh
    • LAB #3 - Sécurisation de la Configuration de l'Hôte Docker
      • 3.1 - [WARN] 1.2.1 - Ensure a separate partition for containers has been created
      • 3.2 - [WARN] 1.2.3 - Ensure auditing is configured for the Docker daemon
    • LAB #4 - Sécurisation de la Configuration du daemon Docker
      • 4.1 - [WARN] 2.1 - Ensure network traffic is restricted between containers on the default bridge
      • 4.2 - [WARN] 2.8 - Enable user namespace support
      • 4.3 - [WARN] 2.11 - Ensure that authorization for Docker client commands is enabled
      • 4.4 - [WARN] 2.12 - Ensure centralized and remote logging is configured
      • 4.5 - [WARN] 2.14 - Ensure Userland Proxy is Disabled
      • 4.6 - [WARN] 2.17 - Ensure containers are restricted from acquiring new privileges
      • 4.7 - Le Fichier /etc/docker/daemon.json
    • LAB #5 - Sécurisation des Images et les Fichiers de Construction
      • 5.1 - [WARN] 4.1 - Ensure a user for the container has been created
      • 5.2 - [WARN] 4.5 - Ensure Content trust for Docker is Enabled
      • 5.3 - [WARN] 4.6 - Ensure that HEALTHCHECK instructions have been added to container images
    • LAB #6 - Sécurisation du Container Runtime
      • 6.1 - [WARN] 5.1 - Ensure AppArmor Profile is Enabled
      • 6.2 - [WARN] 5.2 - Ensure SELinux security options are set, if applicable
      • 6.3 - [WARN] 5.10 - Ensure memory usage for container is limited
      • 6.4 - [WARN] 5.11 - Ensure CPU priority is set appropriately on the container
      • 6.5 - [WARN] 5.12 - Ensure the container's root filesystem is mounted as read only
      • 6.6 - [WARN] 5.14 - Ensure 'on-failure' container restart policy is set to '5'
      • 6.7 - [WARN] 5.25 - Ensure the container is restricted from acquiring additional privileges
      • 6.8 - [WARN] 5.26 - Ensure container health is checked at runtime
      • 6.9 - [WARN] 5.28 - Ensure PIDs cgroup limit is used
    • LAB #7 - Sécurisation des Images avec Docker Content Trust
      • 7.1 - DOCKER_CONTENT_TRUST
      • 7.2 - DCT et la commande docker pull
        • L'option disable-content-trust
      • 7.3 - DCT et la commande docker push
      • 7.4 - DCT et la commande docker build
        • Créer un deuxième Repositry
        • Supprimer une Signature
    • LAB #8 - Sécurisation du Socket du Daemon Docker
      • 8.1 - Création du Certificat de l'Autorité de Certification
      • 8.2 - Création du Certificat du Serveur Hôte du Daemon Docker
      • 8.3 - Création du Certificat du Client
      • 8.4 - Démarrage du Daemon Docker avec une Invocation Directe
      • 8.5 - Configuration du Client
  • DOF205 - Validation de la Formation - 1 heure.
    • Pour Aller Plus Loin
      • Support de Cours
      • L'Infrastructure Hors Formation
        • Matériel
        • Logiciels
        • Machine Virtuelle
    • Rappel du Programme de la Formation
      • Jour #1
      • Jour #2
    • Évaluation de la Formation
    • Remerciements

Évaluation de la Formation

Afin de valider votre formation, veuillez compléter l’Évaluation de la Formation ainsi que la Validation des Acquis.

Remerciements

Nous vous remercions de votre confiance et nous vous souhaitons une excellente continuation.


<html> <DIV ALIGN=“CENTER”> Copyright © 2021 Hugh Norris<BR><BR> Document non-contractuel. Le programme peut être modifié sans préavis. </div> </html>

Menu