Kubernetes : Initiation + Approfondissement
Objectif
Découvrir Kubernetes - Installer & configurer Kubernetes - Connaître les composants de Kubernetes - Orchestrer des applications avec Kubernetes - Gestion du cluster - Pérenniser le stockage - Industrialiser ses déploiements avec kustomize - Identifier les outils indispensables - Limiter la consommation de ses ressources
Programme
- Présentation de la logistique de cours
- Objectifs du cours
- Références et ressources
- Introduction
- Les différentes formes de virtualisation
- La virtualisation par conteneur
- Docker et ses concurrents
- Qu'est-ce que l'orchestration
- Quelles sont les fonctionnalités liées à l'orchestration
- Architecture et composants
- Etcd
- L'api server
- Le Scheduler
- Le Kubelet
- Le Controller
- Le kube-proxy
- Mise en place d'une infra avec Kubernetes
- Installer et configurer minikube/kind
- Identifier différents composants: les CLI et l'API
- Exécuter les commandes de gestion élémentaires(run, logs, exec, attach)
- Les Pods
- Comprendre le concept de pod
- Comprendre le langage descriptif yaml
- Identifier les bonnes pratiques
- Comprendre l’intérêt des jobs et cronjobs
- Organiser la gestion des pods: avec les labels, les sélecteurs et les namespaces
- Présenter le concept de réentrance
- Définir le cycle de vie des pods
- Atelier : Premières commandes CLI de gestion de Pods
- Pérenniser son déploiement
- Contrôler l'état de ses pods: startupprobe, livenessprobe, readinessprobe
- Présenter la notion de scale-out
- La ressource daemonset
- Atelier : Création d'un déploiement NGINX
- Services
- Présenter la ressource service
- Exposer un pod au réseau en interne du cluster
- Exposer un pod à l'extérieur du réseau
- Identifier les différentes mise en réseau
- Atelier : Mise en réseau du déploiement Nginx
- Volumes
- Mutualiser des données
- Rendre accessible le fs d'un noeud du cluster
- Définir les Persistent Volumes et Persistent Volumes Claims
- Atelier : Déploiement NGINX avec persistance des données
- Configuration et secrets
- Utiliser la réentrance pour générer les ressources configMap et secret
- Sécuriser ses déploiements en utilisant des secrets
- Mutualiser les configuration à l'ensemble des nœuds en utilisant un configMap
- Atelier : Déploiement NGINX/PHP avec configuration personnalisée de NGINX