lun. 12 juin
|3 jours (21h00) Session Garantie
Kubernetes - Orchestrer ses conteneurs
Kubernetes est une plate-forme Open Source qui permet d'automatiser le déploiement, la montée en charge et la gestion des applications conteneurisées.

Heure et lieu
12 juin, 07:00 – 14 juin, 16:00
3 jours (21h00) Session Garantie
À propos de l'événement
Objectifs pédagogiques
- Décrire les principes de l'orchestration de conteneurs Docker
- Créer et mettre en oeuvre Kubernetes
- Orchestrer des conteneurs Docker
- Déployer des applications.
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
Niveau requis
Avoir de sérieuses compétences en système et en Linux / Unix et connaître les technologies de conteneurs (Docker).
Public concerné
Architectes, administrateurs, développeurs...
Programme Fondamentaux Historique
- Rappel des concepts du Cloud
- Comment comprendre les conteneurs par rapport à la virtualisation ?
- D'où vient le concept de conteneurs ?
- L'historique des conteneurs
- L'arrivée de Docker
- Le monde Windows
- Les orchestrateurs de conteneurs
Principes de fonctionnement
- Notions d'isolation
- Cgroup
- Namespaces
- Les conteneurs LXC
- Les conteneurs Docker
- Union File System et modèle en couches
- La couche Copy-On-Write (COW)
Technologies
- Composants de base d'une infrastructure Docker
- Définitions et terminologie Docker
- La notion d'OS minimaux
- Notion de Stateless / Stateful
- Comment gérer ses données ?
- Le cas du data-Only-Container
- Fonctionnement du réseau sur un hôte
- Fonction du réseau entre conteneurs
Container as a Service (CaaS) et orchestration Fondamentaux
- Comment lier des conteneurs ?
- Utilisation de Docker Compose
- Création d'une infrastructure composée de plusieurs conteneurs
- Mise en pratique
Technologies de conteneurs et CaaS
- Notions de base et définitions
- Images
- Couches
- Conteneurs
- Hub
- Registry...
- Modèle en couche "layering" et impacts
- Gestion des déploiements
- Présentation des solutions de clustering et d'orchestration
- Kubernetes
- Swarm
- Mesos...
Bénéfices des conteneurs et du CaaS
- Les bénéfices liés à la technologie
- Les bénéfices pour les développeurs
- Les bénéfices pour les administrateurs
- Les bénéfices dans l'usage du Cloud et dans l'hybridation
- Les bénéfices financiers
- L'apport des conteneurs dans la démarche DevOps
Limites des conteneurs et du CaaS
- Ces technologies sont-elles matures pour la production ?
- La sécurité est-elle suffisante ?
- Existe-t-il un risque de verrouillage ? L'interopérabilité est-elle réelle ?
- Les communications réseaux entre conteneurs sont-elles optimales ?
- Comment gérer les données avec Docker ?
- Stateless vs Stateful
- Le CaaS est-il préférable au PaaS ?
Kubernetes : les bases Fondamentaux
- Historique
- Google et Kubernetes
- Les autres contributeurs : Red Hat...
La terminologie
- Notion de pods
- Notion de Replica Set et Replica Controller
- Notion de services
- Notion de volumes
- Notion de ConfigMaps et secrets
Découverte de Kubernetes
- Installation de Kubernetes sur un Cloud public : l'exemple de Google Container Service
- Installation locale avec Minikube
- Dashboard, CLI et API
- Proxy et DNS
- Démarrer ses premiers conteneurs
Kubernetes : mettre en oeuvre Les commandes usuelles
- Namespaces
- Contextes
- Visualiser les Kubernetes API Objects
- Gérer les objets Kubernetes
- Création
- Mise à jour
- Suppression...
- Associer des labels aux objets
- Troubleshooting
Les pods
- Créer un pod et un pod manifest
- Gérer les pods (lister, supprimer...)
- Accéder à un pod
- Port forwarding
- Logs
- Exec
- Copier des fichiers
- Healthchecks
- Gestion des données persistantes et des volumes
Label et annotation
- Appliquer et modifier des labels
- Label selector
- Annotations
- Cleanup
Service Discovery
- Service DNS
- Intégration Cloud
- Kube-proxy
- Gestion du réseau au sein du cluster
Replica Set
- Replica Set et pods
- Créer un Replica Set
- Identifier un Replica Set dans un pod
- Rechercher un ensemble de pods pour un Replica Set
- Mettre à l'échelle les Replica Sets
- kubectl scale
- kubectl apply
- autoscaling
ConfigMaps et secrets
- Créer et utiliser des ConfigMaps
- Créer et utiliser des secrets
- Contraintes de nommage
- Gérer les ConfigMaps et les secrets
- Lister
- Créer
- Mettre à jour
Kubernetes : déployer des applications d'entreprise Son premier déploiement
- Créer, gérer, mettre à jour des déploiements
- Mettre à l'échelle des déploiements
- Stratégies de déploiement
- Recreate
- Rollingupdate
- Rollout
- Supprimer un déploiement
Déployer des applications d'entreprise
- Déployer une application Web basée sur un service Web, une base de données, une base in-memory
- Configurer les composants
- Créer le service Kubernetes pour cette application
- Déployer le service applicatif
- Gérer le cluster