Kubernetes permet d’orchestrer des conteneurs et ainsi de réaliser un applicatif à partir de composants simples voire de micro services. Ce stage très pratique revient sur des aspects avancés des conteneurs (Docker) et montre comment déployer un cluster Kubernetes, comment utiliser Kubernetes en production.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • 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 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.