Objectifs de la formation
- Comprendre le positionnement de Kubernetes et la notion d'orchestration
- Installer Kubernetes et ses différents composants
- Utiliser les fichiers descriptifs YAML
- Définir les bonnes pratiques pour travailler avec Kubernetes
Programme de la formation
Introduction à kubernetes
- De la virtualisation à conteneurisation. Le couple Docker/Kubernetes.
- Solutions d'installation (MiniKube, On-Premise, etc.).
- Installation et configuration de docker.
- Accéder au cluster Kubernetes : CLI (kubectl), GUI (dashboard) 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 (update/rollback).
- Suppression d'un déploiement.
Travaux pratiques
Déploiement, publication et analyse d'un déploiement.
Architecture Kubernetes
- Composants du master node : API server, scheduler, controller manager, etc.
- Architecture d'un minion : Kubelet, le moteur de conteneur (docker), Kube-proxy.
- Objets Kubernetes : volume, service, pod, etc.
- Objet statefull, objet stateless.
- Solution du deployment.
Travaux pratiques
Utilisation de deployment.
Exploiter Kubernetes
- Clusterisation avec replicas et deployment.
- Types de services.
- Labels et choix d'un nœud pour le déploiement.
- Affinité et anti-affinité.
- Daemons set, health check, config map et secrets.
- Persistent Volumes et Persistent Volumes Claim.
Travaux pratiques
Déploiement d'une base de données et d'une application.
Gestion avancée de conteneurs
Création et automatisation d'images personnalisées.Dockerfile.Un conteneur et plusieurs services.Déploiement d'une image personnalisée.
Travaux pratiques
Création et automatisation d'images personnalisées.
Kubernetes en production
- Frontal administrable Ingress.
- Limitation de ressources.
- Gestion des ressources et autoscaling.
- Service Discovery (env, DNS).
- Les namespaces et les quotas.
- Gestion des accès.
- Haute disponibilité et mode maintenance.
Travaux pratiques
Déploiement de conteneur et gestion de la montée en charge.
Déploiement d'un cluster Kubernetes
- Préparation des nœuds.
- Déploiement : d'un master-nodeadm, d'un master-node, d'un worker-node.
- Mise en place du Dashboard et du réseau.
Travaux pratiques
Déploiement d'un cluster.