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
- Saisir les différences entre Kubernetes et AKS et avoir une vision de l’infrastructure Azure inhérente à AKS
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.
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.
Identifier les différences entre Kubernetes et AKS
- Construire son premier cluster AKS
- S’appuyer sur le Microsoft Landing Zone accelerator pour architecturer AKS
- Comprendre le Control plane et le worker plane dans AKS
- Gérer des versions Kubernetes chez Azure
Planifier la topologie réseau requise pour AKS
- Comprendre les différences entre Azure CNI, Kubenet ou BYOCNI
- Identifier les limites du réseau Azure et des NSG pour le filtrage dans le plan réseau Kubernetes
- Choisir entre Cluster public ou privé
- Protéger l’API server de AKS