Docker

Jour #1

  • DOF101 - La Virtualisation par Isolation - 2 heures.
    • Présentation de la Virtualisation par Isolation
      • Historique
    • Présentation des Namespaces
    • Présentation des CGroups
      • LAB #1 - Travailler avec les CGroups
        • 1.1 - Limitation de la Mémoire
        • 1.2 - Le Paquet cgroup-tools
          • La commande cgcreate
          • La Commande cgexec
          • La Commande cgdelete
          • Le Fichier /etc/cgconfig.conf
    • Présentation de Linux Containers
      • LAB #2 - Travailler avec LXC
        • 2.1 - Installation
        • 2.2 - Création d'un Conteneur Simple
        • 2.3 - Démarrage d'un Conteneur Simple
        • 2.4 - S'attacher à un Conteneur Simple
        • 2.5 - Commandes LXC de Base
          • La Commande lxc-console
          • La Commande lxc-stop
          • La Commande lxc-execute
          • La Commande lxc-info
          • La Commande lxc-freeze
          • La Commande lxc-unfreeze
          • Autres commandes
        • 2.6 - Création d'un Conteneur Non-Privilégié
          • User Namespaces
          • Création d'un Utilisateur Dédié
          • Création du Mappage
          • Création du Conteneur
          • Contrôle du Mappage
        • 2.7 - Création d'un Conteneur Éphémère
          • La Commande lxc-copy
        • 2.8 - Sauvegarde des Conteneurs
          • La Commande lxc-snapshot
  • DOF102 - Démarrer avec Docker - 2 heures.
    • Présentation de Docker
    • LAB #1 - Travailler avec Docker
      • 1.1 - Installer docker
      • 1.2 - Démarrer un Conteneur
      • 1.3 - Consulter la Liste des Conteneurs et Images
      • 1.4 - Rechercher une Image dans un Dépôt
      • 1.5 - Supprimer un Conteneur d'une Image
      • 1.6 - Créer une Image à partir d'un Conteneur Modifié
      • 1.7 - Supprimer une Image
      • 1.8 - Créer un Conteneur avec un Nom Spécifique
      • 1.9 - Exécuter une Commande dans un Conteneur
      • 1.10 - Injecter des Variables d'Environnement dans un Conteneur
      • 1.11 - Modifier le Nom d'Hôte d'un Conteneur
      • 1.12 - Mapper des Ports d'un Conteneur
      • 1.13 - Démarrer un Conteneur en mode Détaché
      • 1.14 - Accéder aux Services d'un Conteneur de l'Extérieur
      • 1.15 - Arrêter et Démarrer un Conteneur
      • 1.16 - Utiliser des Signaux avec un Conteneur
      • 1.17 - Forcer la Suppression d'un Conteneur en cours d'Exécution
      • 1.18 - Utilisation Simple d'un Volume
      • 1.19 - Télécharger une image sans créer un conteneur
      • 1.20 - S'attacher à un conteneur en cours d'exécution
      • 1.21 - Installer un logiciel dans le conteneur
      • 1.22 - Utilisation de la commande docker commit
      • 1.23 - Se connecter au serveur du conteneur de l'extérieur
  • DOF103 - Gérer les Images Docker - 3 heures.
    • Contenu du Module
    • LAB #1 - Re-créer une image officielle docker
      • 1.1 - Utilisation d'un Dockerfile
      • 1.2 - FROM
      • 1.3 - RUN
      • 1.4 - ENV
      • 1.5 - VOLUME
      • 1.6 - COPY
      • 1.7 - ENTRYPOINT
      • 1.8 - EXPOSE
      • 1.9 - CMD
      • 1.10 - Autres Commandes
    • LAB #2 - Créer un Dockerfile
      • 2.1 - Création et test du script
      • 2.2 - Bonnes Pratiques liées au Cache

Jour #2

  • DOF104 - Gestion des Volumes, du Réseau et des Ressources - 2 heures.
    • LAB #1 - Gestion des Volumes
      • 1.1 - Gestion Automatique par Docker
      • 1.2 - Gestion Manuelle d'un Volume
    • LAB #2 - Gestion du Réseau
      • 2.1 - L'Approche Réseau Docker
        • Bridge
        • Host
        • None
        • Liens
      • 2.2 - Lancer Wordpress dans un container
      • 2.3 - Gestion d'une Architecture de Microservices
    • LAB #3 - Superviser les Conteneurs
      • 3.1 - Les Journaux
      • 3.2 - Les Processus
      • 3.3 - L'Activité en Continu
    • LAB #4 - Gestion des Ressources
      • 4.1 - Limiter la Mémoire
  • DOF201 - Stocker les Images Docker - 2 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 - 3 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
      • 3.11 - Sauvegarder Docker Swarm
      • 3.12 - Restaurer Docker Swarm

Jour #3

  • DOF203 - Gestion du Réseau avec Docker - 3 heures.
    • L'Approche Réseau Docker
    • LAB #1 - Les Réseaux Docker ayant un Scope Local
      • 1.1 - Bridge
        • Liens
      • 1.2 - Host
      • 1.3 - None
      • 1.4 - Lancer Wordpress dans un container
      • 1.5 - Gestion d'une Architecture de Microservices
    • LAB #2 - Gestion du Réseau overlay
      • 2.1 - Création d'un Réseau overlay
      • 2.2 - Création d'un Service
      • 2.3 - Déplacer le Service vers un autre Réseau overlay
      • 2.4 - DNS container discovery
      • 2.5 - Création d'un Réseau overlay Personnalisé
    • LAB #3 - Gestion de l'Architecture des Microservices
      • 3.1 - Mise en Place avec Docker Swarm avec des réseaux Overlay
  • DOF204 - Gestion de la Sécurité de Docker - 3 heures.
    • LAB #1 - Travailler avec les CGroups
      • 1.1 - Présentation des Namespaces
      • 1.2 - Présentation des CGroups
      • 1.3 - Limitation de la Mémoire
      • 1.4 - Le Paquet cgroup-tools
        • La commande cgcreate
        • La Commande cgexec
        • La Commande cgdelete
        • Le Fichier /etc/cgconfig.conf
    • LAB #2 - Utilisation des Docker Secrets
    • LAB #3 - Création d'un Utilisateur de Confiance pour Contrôler le Daemon Docker
    • LAB #4 - Le Script docker-bench-security.sh
    • LAB #5 - Sécurisation de la Configuration de l'Hôte Docker
      • 5.1 - [WARN] 1.2.1 - Ensure a separate partition for containers has been created
      • 5.2 - [WARN] 1.2.3 - Ensure auditing is configured for the Docker daemon
    • LAB #6 - Sécurisation de la Configuration du daemon Docker
      • 6.1 - [WARN] 2.1 - Ensure network traffic is restricted between containers on the default bridge
      • 6.2 - [WARN] 2.8 - Enable user namespace support
      • 6.3 - [WARN] 2.11 - Ensure that authorization for Docker client commands is enabled
      • 6.4 - [WARN] 2.12 - Ensure centralized and remote logging is configured
      • 6.5 - [WARN] 2.14 - Ensure Userland Proxy is Disabled
      • 6.6 - [WARN] 2.17 - Ensure containers are restricted from acquiring new privileges
      • 6.7 - Le Fichier /etc/docker/daemon.json
    • LAB #7 - Sécurisation des Images et les Fichiers de Construction
      • 7.1 - [WARN] 4.1 - Ensure a user for the container has been created
      • 7.2 - [WARN] 4.5 - Ensure Content trust for Docker is Enabled
      • 7.3 - [WARN] 4.6 - Ensure that HEALTHCHECK instructions have been added to container images
    • LAB #8 - Sécurisation du Container Runtime
      • 8.1 - [WARN] 5.1 - Ensure AppArmor Profile is Enabled
      • 8.2 - [WARN] 5.2 - Ensure SELinux security options are set, if applicable
      • 8.3 - [WARN] 5.10 - Ensure memory usage for container is limited
      • 8.4 - [WARN] 5.11 - Ensure CPU priority is set appropriately on the container
      • 8.5 - [WARN] 5.12 - Ensure the container's root filesystem is mounted as read only
      • 8.6 - [WARN] 5.14 - Ensure 'on-failure' container restart policy is set to '5'
      • 8.7 - [WARN] 5.25 - Ensure the container is restricted from acquiring additional privileges
      • 8.8 - [WARN] 5.26 - Ensure container health is checked at runtime
      • 8.9 - [WARN] 5.28 - Ensure PIDs cgroup limit is used
    • LAB #9 - Sécurisation des Images avec Docker Content Trust
      • 9.1 - DOCKER_CONTENT_TRUST
      • 9.2 - DCT et la commande docker pull
        • L'option disable-content-trust
      • 9.3 - DCT et la commande docker push
      • 9.4 - DCT et la commande docker build
        • Créer un deuxième Repositry
        • Supprimer une Signature
    • LAB #10 - Sécurisation du Socket du Daemon Docker
      • 10.1 - Création du Certificat de l'Autorité de Certification
      • 10.2 - Création du Certificat du Serveur Hôte du Daemon Docker
      • 10.3 - Création du Certificat du Client
      • 10.4 - Démarrage du Daemon Docker avec une Invocation Directe
      • 10.5 - Configuration du Client
  • DOF205 - Validation de la Formation - 1 heure.
    • Rappel du Programme de la Formation
      • Jour #1
      • Jour #2
      • Jour #3
    • Évaluation de la Formation
    • Validation des acquis

Kubernetes

Jour #1

  • DOF301 - Création de Clusters Kubernetes - 4 heures.
    • Contenu du Module
    • L'Orchestration de Conteneurs
    • Présentation de Kubernetes (k8s)
      • Master
      • Nœuds (Minions)
    • LAB #1 - Création du Cluster Kubernetes avec des Machines Virtuelles
      • 1.1 - Présentation
      • 1.2 - Connexion à la Machine Virtuelle kubemaster
      • 1.3 - Tester le Réseau
      • 1.4 - Initialisation du Maître du Cluster
      • 1.5 - Installation d'une Extension Réseau pour la Communication entre des PODs
      • 1.6 - Connexion des Travailleurs au Maître
    • LAB #2 - Création du Cluster Kubernetes avec Minikube
      • 2.1 - Présentation de Minikube
      • 2.2 - Installation de Minikube
      • 2.3 - Configuration de Minikube
      • 2.4 - Installation de kubectl
      • 2.5 - Mettre à jour Minikube
      • 2.6 - La Commande minikube dashboard
      • 2.7 - La Commande minikube addons
    • LAB #3 - Création du Cluster Kubernetes avec kind
      • 3.1 - Présentation de kind
      • 3.2 - Configurer Docker-CE dans la VM Debian_9
      • 3.3 - Installation de kubelet, kubeadm et kubectl
      • 3.4 - Installation de kind et Démarrage du Cluster
  • DOF302 - Utilisation de la Commande kubectl - 3 heures.
    • LAB #1 - Travailler avec kubectl
      • 1.1 - Équivalences entre la commande docker et la commande kubectl
      • 1.2 - Obtenir de l'Aide sur les Commandes de kubectl
      • 1.3 - Obtenir de l'Information sur le Cluster
        • La Commande version
        • La Commande cluster-info
        • La Commande api-versions
        • La Commande api-resources
      • 1.4 - Travailler avec les Nœuds
        • La Commande describe
        • La Commande top
        • Les Commandes cordon et uncordon
        • La Commande drain
        • La Commande delete
      • 1.5 - Gestion des Applications
        • La Commande expose
        • La Commande get
        • La Commande set
        • La Commande rollout
      • 1.6 - Déboguer une Application
        • La Commande logs
        • La Commande exec
      • 1.7 - Gérer les Plugins de kubectl
        • La Commande krew
      • 1.8 - Gérer des patchs
        • La Commande kustomize
      • 1.9 - Alias utile
        • L'Alias kg
        • L'Alias kd
        • L'Alias kga
        • L'Alias kp
        • L'Alias kap
        • L'Alias kei
        • L'Alias ke
        • L'Alias kpf
        • L'Alias kl

Jour #2

  • DOF303 - PODs, Contrôleurs de Réplication, ReplicaSets et Deployments - 4 heures.
    • LAB #1 - Création d'un POD
      • 1.1 - Présentation d'un POD
      • 1.2 - Création Manuelle d'un POD
      • 1.3 - Création d'un POD à l'aide d'un fichier YAML
        • apiVersion
        • kind
        • metadata
        • spec
        • Utilisation du Fichier YAML
    • LAB #2 - Utilisation de Contrôleurs de Réplication et ReplicaSets
      • 2.1 - Contrôleurs de Réplication
        • Présentation d'un Contrôleur de Réplication
        • Mise en Application
      • 2.2 - ReplicaSets
        • Présentation d'un ReplicaSet
        • Mise en Application
    • LAB #3 - Gestion des Deployments
      • 3.1 - Présentation d'un Deployment
      • 3.2 - Mise en Application
        • Rollouts
        • Rolling Updates
        • Rollbacks
  • DOF304 - Gestion du Réseau, des Services et d'une Architecture de Microservices - 3 heures.
    • LAB #1 - Gestion du Réseau et des Services
      • 1.1 - Présentation
      • 1.2 - Le Service NodePort
      • 1.3 - Le Service ClusterIP
    • LAB #2 - Gestion de l'Architecture des Microservices
      • 2.1 - Présentation
      • 2.2 - Création des Deployments
      • 2.3 - Création des Services
      • 2.4 - Déployer l'Application
      • 2.5 - Tester l'Application
      • 2.6 - Scaling Up

Jour #3

  • DOF305 - Sécurisation de Kubernetes - 3 heures.
    • LAB #1 - Role Based Acces Control et Certificats TLS
      • 1.1 - Présentation
      • 1.2 - Le Fichier /etc/kubernetes/manifests/kube-apiserver.yaml
      • 1.3 - Création d'un serviceAccount
      • 1.4 - Création d'un Utilisateur
      • 1.5 - Certificats TLS
    • LAB #2 - Implémentation de la Sécurité au niveau des Pods
      • 2.1 - Présentation
      • 2.2 - Kubernetes Security Context
        • ReadOnlyRootFilesystem
        • drop
      • 2.3 - Kubernetes Pod Security Policy
      • 2.4 - Kubernetes Network Policies
      • 2.5 - Kubernetes Resource Allocation Management
    • LAB #3 - Sécuriser les Composants de Kubernetes
      • 3.1 - L'accès à l'API Kubelet
      • 3.2 - L'accès de Kubelet à l'API Kubernetes
      • 3.3 - Sécuriser etcd
  • DOF306 - Le Gestionnaire de Charts Helm - 3 heures.
    • LAB #1 - Travailler avec Helm
      • 1.1 - Présentation de Helm
      • 1.2 - Installation de Helm
      • 1.3 - La Commande helm search hub
      • 1.4 - Rechercher dans le Helm Hub
      • 1.5 - Ajouter et supprimer un Dépôt
      • 1.6 - La Commande helm search repo
      • 1.7 - La Commande helm show
      • 1.8 - Installation d'un Chart
      • 1.9 - La Commande helm get
      • 1.10 - Utilisation des NOTES
      • 1.11 - La Commande helm upgrade
      • 1.12 - La Commande helm history
      • 1.13 - La Commande helm rollback
      • 1.14 - La Commande helm uninstall
    • LAB #2 - Supervision de Kubernetes avec le Stack EFK
      • 2.1 - Présentation dus Stack EFK
      • 2.2 - Installation du Chart elasticsearch
      • 2.3 - Installation du Chart fluentd-elasticsearch
      • 2.4 - Installation du Chart kibana
      • 2.5 - Génération de Traces dans Kubernetes
      • 2.6 - Visualisation des Données avec Kibana
  • DOF307 - Validation de la Formation - 1 heure.
    • Rappel du Programme de la Formation
      • Jour #1
      • Jour #2
      • Jour #3
    • Évaluation de la Formation et la Validation des Acquis
    • Validation des Acquis
Menu