Tutoriel Kubernetes complet | Cours Kubernetes | Cours pratique avec de nombreuses démonstrations
Connectez-vous avec moi 👋
▬▬▬▬▬▬ HORAIRES ⏰ ▬▬▬▬▬▬
0:00 - Présentation du cours
2:18 - Qu'est-ce que K8s
5:20 - Principaux composants K8s
22:29 - Architecture K8s
34:47 - Minikube et kubectl - Configuration locale
44:52 - Principales commandes Kubectl - CLI K8s
1:02:03 - Fichier de configuration K8s YAML
1:16:16 - Projet de démonstration : MongoDB et MongoExpress
1:46:16 - Organisation de vos composants avec les espaces de noms K8s
2:01:52 - Explication de K8s Ingress
2:24:17 - Helm - Gestionnaire de paquets
2:38:07 - Persistance des données dans K8s avec des volumes
2:58:38 - Déploiement d'applications Stateful avec StatefulSet
3:13:43 - Explication des services K8s
▬▬▬▬▬▬ PRÉSENTATION DU COURS 📚 ▬▬▬▬▬▬
🔥 Qu'est-ce que Kubernetes 🔥
► Quels problèmes Kubernetes résout-il ?
► Quelles fonctionnalités les outils d'orchestration de conteneurs offrent-ils ?
🔥 Principaux composants K8s 🔥
► Node & Pod
► Service & Ingress
► ConfigMap & Secret
► Volumes
► Deployment & StatefulSet
🔥 Architecture K8s 🔥
► Nœuds de travail
► Nœuds maîtres
► Serveur API
► Planificateur
► Gestionnaire de contrôleur
► etcd - le cerveau du cluster
🔥 Minikube et kubectl - Configuration locale 🔥
► Qu'est-ce que minikube ?
► Qu'est-ce que kubectl ?
► installer minikube et kubectl
► créer et démarrer un cluster minikube
🔗 Liens :
- Gitlab : Si vous utilisez Mac, vous pouvez suivre les commandes. Je les ai toutes listées ici :
https://bit.ly/3oZzuHY🔥 Principales commandes Kubectl - CLI K8s 🔥
► Obtenir l'état des différents composants
► créer un pod/déploiement
► couches d'abstraction
► modifier le pod/déploiement
► déboguer les pods
► supprimer le pod/déploiement
► CRUD en appliquant le fichier de configuration
🔥 Fichier de configuration K8s YAML 🔥
► 3 parties d'un fichier de configuration Kubernetes (métadonnées, spécification, état)
► format du fichier de configuration
► modèle pour les pods (template)
► connecter les services aux déploiements et aux pods (étiquette & sélecteur & port)
► démonstration
🔥 Projet de démonstration 🔥
► Déploiement de MongoDB et Mongo Express
► Pod MongoDB
► Secret
► Service interne MongoDB
► Service de déploiement et Config Map
► Service externe Mongo Express
🔥 Organisation de vos composants avec les espaces de noms K8s 🔥
► Qu'est-ce qu'un espace de noms ?
► 4 espaces de noms par défaut
► Créer un espace de noms
► Pourquoi utiliser des espaces de noms ? 4 cas d'utilisation
► Caractéristiques des espaces de noms
► Créer des composants dans des espaces de noms
► Changer l'espace de noms actif
🔥 Explication de K8s Ingress 🔥
► Qu'est-ce qu'Ingress ? Service externe vs. Ingress
► Exemples de fichiers de configuration YAML pour le service externe et Ingress
► Configuration de service interne pour Ingress
► Comment configurer Ingress dans votre cluster ?
► Qu'est-ce qu'un contrôleur Ingress ?
► Environnement sur lequel votre cluster fonctionne (fournisseur de cloud ou matériel nu)
► Démonstration : Configurer Ingress dans Minikube
► Backend par défaut d'Ingress
► Cas d'utilisation de routage
► Configuration du certificat TLS
🔗 Liens :
🔥 Helm - Gestionnaire de paquets 🔥
► Gestionnaire de paquets et Helm Charts
► Moteur de templating
► Cas d'utilisation pour Helm
► Structure des charts Helm
► Injection de valeurs dans les fichiers de modèle
► Gestion des versions / Tiller (version Helm 2 !)
🔗 Liens :
🔥 Persistance des données dans K8s avec des volumes 🔥
► Le besoin de stockage persistant & exigences de stockage
► Volume persistant (PV)
► Types de volumes locaux vs distants
► Qui crée le PV et quand ?
► Demande de volume persistant (PVC)
► Niveaux d'abstraction des volumes
► ConfigMap et Secret comme types de volumes
► Classe de stockage (SC)
🔥 Déploiement d'applications Stateful avec StatefulSet 🔥
► Qu'est-ce que StatefulSet ? Différence entre applications sans état et avec état
► Déploiement d'applications avec état et sans état
► Déploiement vs StatefulSet
► Identité du pod
► Mise à l'échelle des applications de base de données : Pods maître et travailleur
► État du pod, identifiant du pod
► 2 points de terminaison de pod
🔥 Services K8s 🔥
► Qu'est-ce qu'un service dans K8s et quand en avons-nous besoin ?
► Services ClusterIP
► Communication entre services
► Services multi-port
► Services sans tête
► Services NodePort
► Services LoadBalancer