KUBERNETES : Configuration et mise en oeuvre

Présentation

Objectifs & compétences

À l'issue de cette formation, les apprenants seront capables de :
  • Comprendre et maîtriser la conteneurisation et Kubernetes.
  • Les participants apprendront à déployer, administrer et gérer des applications sur Kubernetes.
  • Configurer des ressources comme les pods, les services, les volumes et les secrets
  • Appliquer les bonnes pratiques d'architecture et de sécurité.

Public visé

Développeurs, architectes cloud, ingénieurs de production, administrateurs.

Pré-requis

  • Administration système Linux, connaissances générales en conteneurisation.
  • Connaissance des environnements réseau et de stockage utilisés par les containers.

Programme

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

Modalités

Pédagogie

Ratio théorie/pratique : 70% / 30%

Les exercices pratiques permettront de renforcer les connaissances acquises et de préparer les participants à gérer des environnements de production Kubernetes.