Aperçu du cours
Introduction à DevOps et ses Outils
Ce module introductif présente le concept DevOps, soulignant l’importance de l’intégration continue, du déploiement continu, et de l’automatisation des processus IT. Découvrez comment DevOps favorise une collaboration efficace entre les développeurs et les opérations pour améliorer l’agilité de l’entreprise.
Maîtrise de Docker
Apprenez à utiliser Docker, un outil essentiel pour les développeurs et les administrateurs système qui permet de créer, déployer et gérer des applications dans des conteneurs légers et portables. Ce cours couvre l’installation de Docker, la création de conteneurs Docker, et la gestion des images Docker.
Orchestration avec Kubernetes
Explorez Kubernetes, la plateforme d’orchestration de conteneurs open source qui automatise le déploiement, la mise à l’échelle et la gestion des applications conteneurisées. Apprenez à configurer et gérer des clusters Kubernetes, à déployer des applications, à gérer le scaling des services, et à assurer la haute disponibilité.
CI/CD avec Jenkins
Intégrez les pipelines CI/CD à l’aide de Jenkins pour automatiser le processus de développement et de déploiement. Ce module vous guide à travers la configuration de pipelines d’intégration continue pour automatiser les tests et les déploiements en utilisant Docker et Kubernetes.
Sécurité, Surveillance et Logging
Maîtrisez les aspects de sécurité dans les environnements DevOps, incluant la sécurisation des conteneurs et des clusters Kubernetes. Apprenez également à implémenter des solutions de surveillance et de logging pour maintenir la performance et la sécurité des applications.
Projets Pratiques et Études de Cas
Engagez-vous dans des projets pratiques et des études de cas qui appliquent les compétences acquises à des scénarios réels, renforçant ainsi la compréhension et la maîtrise des outils DevOps essentiels.
Prérequis
- Connaissance des systèmes Linux
- Notions sur les réseaux TCP/IP
- Utilisation de la ligne de commande et du Shell en environnement Linux
Fonctionnalités
- Mettre en place Docker sous Linux et Windows
- Manipuler des conteneurs et images
- Construire des images et les partager sur le Docker Hub ou d’autres registries
- Paramétrer le réseau et les volumes
- Analyser le positionnement de Kubernetes
- Comprendre la notion d’orchestration
- Installer Kubernetes et ses composants
- Maîtriser les fichiers descriptifs YAML
- Intégrer les Best practices pour Kubernetes
Public ciblé
- Développeurs
- Architectes techniques
- Responsables exploitation & production
- SysOps
Détails
- 26 Sections
- 136 Lessons
- 35 Weeks
- Introduction à Docker5
- 1.1Évolution de Docker de sa création à aujourd’hui
- 1.2Pourquoi Docker ?
- 1.3L’architecture de Docker
- 1.4L’installation de Docker (Linux/Windows/Mac)
- 1.5Travaux pratiques : Installer Docker sous Windows ; Installer Docker sous Linux
- Introduction à Docker5
- 2.1Évolution de Docker de sa création à aujourd’hui
- 2.2Pourquoi Docker ?
- 2.3L’architecture de Docker
- 2.4L’installation de Docker (Linux/Windows/Mac)
- 2.5Travaux pratiques : Installer Docker sous Windows ; Installer Docker sous Linux
- Docker en production3
- 3.1Le fonctionnement de Docker avec les conteneurs
- 3.2Le fonctionnement de Docker avec les images
- 3.3Travaux pratiques : Chercher et installer une application Web grâce à Docker
- Docker en production3
- 4.1Le fonctionnement de Docker avec les conteneurs
- 4.2Le fonctionnement de Docker avec les images
- 4.3Travaux pratiques : Chercher et installer une application Web grâce à Docker
- La création de contenu3
- 5.1Le Dockerfile
- 5.2Le Docker Hub et la construction automatique
- 5.3Travaux pratiques : Créer un Dockerfile et le partager
- La création de contenu3
- 6.1Le Dockerfile
- 6.2Le Docker Hub et la construction automatique
- 6.3Travaux pratiques : Créer un Dockerfile et le partager
- L'exploitation de Docker3
- 7.1Le paramétrage réseaux
- 7.2Les volumes
- 7.3Travaux pratiques : Construction et gestion de réseaux ; Développement et usage des volumes ; Mise en place d’un conteneur
- L'exploitation de Docker3
- 8.1Le paramétrage réseaux
- 8.2Les volumes
- 8.3Travaux 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 conteneurs5
- 9.1Introduction à l’outil Docker Compose
- 9.2Relation entre conteneurs
- 9.3Connexion
- 9.4Liaison
- 9.5Travaux pratiques : Développement d’une application multi-conteneurs ; Gestion des conteneurs
- Docker Compose : présentation du chaînage de conteneurs5
- 10.1Introduction à l’outil Docker Compose
- 10.2Relation entre conteneurs
- 10.3Connexion
- 10.4Liaison
- 10.5Travaux pratiques : Développement d’une application multi-conteneurs ; Gestion des conteneurs
- Aller plus loin avec Docker4
- 11.1Les outils de gestion graphique
- 11.2La sécurisation de Docker
- 11.3L’API de Docker
- 11.4Travaux pratiques : Mise en place d’une stratégie de sécurité pour un conteneur et pour les données
- Aller plus loin avec Docker4
- 12.1Les outils de gestion graphique
- 12.2La sécurisation de Docker
- 12.3L’API de Docker
- 12.4Travaux pratiques : Mise en place d’une stratégie de sécurité pour un conteneur et pour les données
- Introduction à Kubernetes7
- 13.1Docker / Kubernetes : transition de virtualisation à la conteneurisation
- 13.2Solutions d’installation
- 13.3Docker : installation et paramétrage
- 13.4Le cluster Kubernetes : CLI, GUI et APIs
- 13.5Déploiement et publication manuelle
- 13.6Détail et introspection du déploiement
- 13.7Travaux pratiques : Déploiement d’une plateforme de test.
- Introduction à Kubernetes7
- 14.1Docker / Kubernetes : transition de virtualisation à la conteneurisation
- 14.2Solutions d’installation
- 14.3Docker : installation et paramétrage
- 14.4Le cluster Kubernetes : CLI, GUI et APIs
- 14.5Déploiement et publication manuelle
- 14.6Détail et introspection du déploiement
- 14.7Travaux pratiques : Déploiement d’une plateforme de test.
- Les fichiers descriptifs5
- 15.1Syntaxe YAML
- 15.2Scalabilité d’un déploiement
- 15.3Stratégie de mise à jour sans interruption
- 15.4Suppression d’un déploiement
- 15.5Travaux pratiques : Déploiement, publication et analyse d’un déploiement
- Les fichiers descriptifs5
- 16.1Syntaxe YAML
- 16.2Scalabilité d’un déploiement
- 16.3Stratégie de mise à jour sans interruption
- 16.4Suppression d’un déploiement
- 16.5Travaux pratiques : Déploiement, publication et analyse d’un déploiement
- Architecture Kubernetes6
- 17.1Composants du master node
- 17.2Architecture d’un minion
- 17.3Objets Kubernetes : volume, service, pod…
- 17.4Objet statefull, objet stateless
- 17.5Solution du deployment
- 17.6Travaux pratiques : Utilisation de deployment
- Architecture Kubernetes6
- 18.1Composants du master node
- 18.2Architecture d’un minion
- 18.3Objets Kubernetes : volume, service, pod…
- 18.4Objet statefull, objet stateless
- 18.5Solution du deployment
- 18.6Travaux pratiques : Utilisation de deployment
- Exploiter Kubernetes7
- 19.1Clusterisation : replicas et deployment
- 19.2Présentation des types de services
- 19.3Labels et choix d’un nœud
- 19.4Affinité & anti-affinité
- 19.5Daemons set, health check, config map et secrets
- 19.6Persistent Volumes & Persistent Volumes Claim
- 19.7Travaux pratiques : Construction et déploiement d’une base de données et d’une application.
- Exploiter Kubernetes7
- 20.1Clusterisation : replicas et deployment
- 20.2Présentation des types de services
- 20.3Labels et choix d’un nœud
- 20.4Affinité & anti-affinité
- 20.5Daemons set, health check, config map et secrets
- 20.6Persistent Volumes & Persistent Volumes Claim
- 20.7Travaux pratiques : Construction et déploiement d’une base de données et d’une application.
- Gestion avancée des conteneurs5
- 21.1Créer et automatiser des images personnalisées
- 21.2Dockerfile
- 21.3Un conteneur, plusieurs services
- 21.4Déploiement d’une image personnalisée
- 21.5Travaux pratiques : Création et automatisation d’images personnalisées.
- Gestion avancée des conteneurs5
- 22.1Créer et automatiser des images personnalisées
- 22.2Dockerfile
- 22.3Un conteneur, plusieurs services
- 22.4Déploiement d’une image personnalisée
- 22.5Travaux pratiques : Création et automatisation d’images personnalisées.
- La production avec Kubernetes8
- 23.1Frontal administrable Ingress
- 23.2Limitation de ressources
- 23.3Les namespaces et les quotas
- 23.4Gestion des ressources et autoscaling
- 23.5Service Discovery (env, DNS)
- 23.6Haute disponibilité et mode maintenance
- 23.7Gestion des accès
- 23.8Travaux pratiques : Déploiement de conteneur et gestion de la scalabilité.
- La production avec Kubernetes8
- 24.1Frontal administrable Ingress
- 24.2Limitation de ressources
- 24.3Les namespaces et les quotas
- 24.4Gestion des ressources et autoscaling
- 24.5Service Discovery (env, DNS)
- 24.6Haute disponibilité et mode maintenance
- 24.7Gestion des accès
- 24.8Travaux pratiques : Déploiement de conteneur et gestion de la scalabilité.
- Déploiement d'un cluster Kubernetes7
- 25.1Préparation des nœuds
- 25.2Déploiement d’un master-nodeadm
- 25.3Déploiement d’un master-node
- 25.4Déploiement d’un worker-node
- 25.5Création du Dashboard
- 25.6Création du réseau
- 25.7Travaux pratiques : Déploiement d’un cluster.
- Déploiement d'un cluster Kubernetes7
- 26.1Préparation des nœuds
- 26.2Déploiement d’un master-nodeadm
- 26.3Déploiement d’un master-node
- 26.4Déploiement d’un worker-node
- 26.5Création du Dashboard
- 26.6Création du réseau
- 26.7Travaux pratiques : Déploiement d’un cluster.