Aperçu du cours
Objectif de formation : Docker est une plateforme de conteneurs logiciels virtualisés. Elle vous permettra entre autres de conteneuriser des logiciels en vue de les utiliser sur tout serveur Linux ou Windows. L’architecture de Kubernetes sera analysée et n’aura plus de secrets pour vous. Créer, mettre en œuvre, orchestrer et déployer les conteneurs sera un jeu d’enfant.
Programme d'études
-
Introduction à Docker
-
Évolution de Docker de sa création à aujourd’hui
-
Pourquoi Docker ?
-
L’architecture de Docker
-
L’installation de Docker (Linux/Windows/Mac)
-
Travaux pratiques : Installer Docker sous Windows ; Installer Docker sous Linux
-
-
Docker en production
-
Le fonctionnement de Docker avec les conteneurs
-
Le fonctionnement de Docker avec les images
-
Travaux pratiques : Chercher et installer une application Web grâce à Docker
-
-
La création de contenu
-
Le Dockerfile
-
Le Docker Hub et la construction automatique
-
Travaux pratiques : Créer un Dockerfile et le partager
-
-
L'exploitation de Docker
-
Le paramétrage réseaux
-
Les volumes
-
Travaux pratiques : Construction et gestion de réseaux ; Développement et usage des volumes ; Mise en place d’un conteneur
-
-
Docker Compose : présentation du chaînage de conteneurs
-
Introduction à l’outil Docker Compose
-
Relation entre conteneurs
-
Connexion
-
Liaison
-
Travaux pratiques : Développement d’une application multi-conteneurs ; Gestion des conteneurs
-
-
Aller plus loin avec Docker
-
Les outils de gestion graphique
-
La sécurisation de Docker
-
L’API de Docker
-
Travaux pratiques : Mise en place d’une stratégie de sécurité pour un conteneur et pour les données
-
-
Introduction à Kubernetes
-
Docker / Kubernetes : transition de virtualisation à la conteneurisation
-
Solutions d’installation
-
Docker : installation et paramétrage
-
Le cluster Kubernetes : CLI, GUI et APIs
-
Déploiement et publication manuelle
-
Détail et introspection du déploiement
-
Travaux pratiques : Déploiement d’une plateforme de test.
-
-
Les fichiers descriptifs
-
Syntaxe YAML
-
Scalabilité d’un déploiement
-
Stratégie de mise à jour sans interruption
-
Suppression d’un déploiement
-
Travaux pratiques : Déploiement, publication et analyse d’un déploiement
-
-
Architecture Kubernetes
-
Composants du master node
-
Architecture d’un minion
-
Objets Kubernetes : volume, service, pod…
-
Objet statefull, objet stateless
-
Solution du deployment
-
Travaux pratiques : Utilisation de deployment
-
-
Exploiter Kubernetes
-
Clusterisation : replicas et deployment
-
Présentation des types de services
-
Labels et choix d’un nœud
-
Affinité & anti-affinité
-
Daemons set, health check, config map et secrets
-
Persistent Volumes & Persistent Volumes Claim
-
Travaux pratiques : Construction et déploiement d’une base de données et d’une application.
-
-
Gestion avancée des conteneurs
-
Créer et automatiser des images personnalisées
-
Dockerfile
-
Un conteneur, plusieurs services
-
Déploiement d’une image personnalisée
-
Travaux pratiques : Création et automatisation d’images personnalisées.
-
-
La production avec Kubernetes
-
Frontal administrable Ingress
-
Limitation de ressources
-
Les namespaces et les quotas
-
Gestion des ressources et autoscaling
-
Service Discovery (env, DNS)
-
Haute disponibilité et mode maintenance
-
Gestion des accès
-
Travaux pratiques : Déploiement de conteneur et gestion de la scalabilité.
-
-
Déploiement d'un cluster Kubernetes
-
Préparation des nœuds
-
Déploiement d’un master-nodeadm
-
Déploiement d’un master-node
-
Déploiement d’un worker-node
-
Création du Dashboard
-
Création du réseau
-
Travaux pratiques : Déploiement d’un cluster.
-