Jour 1 : Fondamentaux de la Conteneurisation et Kubernetes
Conteneurisation : Rappels et Concepts Clés
- Notions de base et définitions : Image, Runtime, Conteneur, Registre
- La démocratisation avec Docker
- L'écosystème CaaS et la CNCF : Environnement de développement, Supply Chain, Observabilité et traçabilité, Sécurité
- Les tendances : Serverless et WebAssembly
- Produits majeurs du CaaS
Kubernetes : Introduction et Fonctionnement
- Le rôle de l'orchestrateur de conteneurs
- Les méthodes de déploiement : On-Premise vs Cloud, Distributions majeures (Rancher, OpenShift), Kubernetes sur le poste de développement (minikube, kubeadm)
- Principes de fonctionnement : Construction d'images, Écriture des manifestes YAML, Déploiement sur Kubernetes
Architecture Kubernetes
- Composants d'un cluster : Master, Nodes, Manager
- Composants du master : API Server, Scheduler, ETCD, Controller Managers
- Composants des nodes : Kubelet, Kube-proxy
- Le réseau dans Kubernetes : Réseau à plat, Stratégie réseau, CNI, Plug-ins, Gestion du DNS
- Bonnes pratiques d'architecture : Dimensionnement et choix des composants
Travaux Pratiques
- Déploiement d'un cluster Kubernetes
- Configuration de kubectl et utilisation des commandes de base
Jour 2 : Ressources et Administration de Kubernetes
Ressources de Base dans Kubernetes
- Namespaces et Pods : Définition des namespaces et cas d'usage, Troubleshooting des pods (Port forwarding, Logs, Exec), Gestion de la santé des pods (méthodes de vérification, types de sondes), Utilisation des initContainers
Label, Annotations, ReplicaSet et DaemonSet
- Labels et annotations : Définition et cas d'usage
- ReplicaSet : Définition, mise à l'échelle
- DaemonSet : Cas d'usage et applications pratiques
ConfigMaps et Secrets
- Gestion des ConfigMaps et Secrets : Types de Secrets, limites des Secrets
Services et Ingress
- Définition et types de services : ClusterIP, NodePort, LoadBalancer
- Ingress et Ingress Controller : Applications pratiques de l'Ingress et configuration TLS
Déployer des Applications d'Entreprise
- Déploiement avec Kubernetes : Définition et cas d'usage du Deployment, Stratégies de mise à jour applicative : Rolling Update, History, Rollout
Travaux Pratiques
- Création et gestion de services et Ingress
- Mise en place de TLS sur un Ingress
Jour 3 : Gestion des Volumes et Déploiement d'Applications
Gestion des Volumes dans Kubernetes
- Types de volumes : emptyDir, hostPath, CSI Driver, NFS, etc.
- Persistent Volumes et Persistent Volume Claims : Provisioning statique et dynamique, Bonnes pratiques de gestion des volumes
Travaux Pratiques
- Création et mapping de volumes statiques et dynamiques à des pods
- Déploiement d'une application Web avec base de données et services associés
- Configuration de l'application avec ConfigMaps et Secrets